JMS providers can return runtime exceptions instead of JMSException in some cases. Eg. IBM WebSphere MQ throws NullPointerException in case of a broken connection (more precisely it throws JMSException first, but subsequent receive, commit, rollback, etc. calls lead to NPE).
These exceptions should be handled the same way as JMSException (because they are coming from the JMS provider) and should trigger the same reconnect mechanism in JMSSource.