Should stopping a destination via the JMX console, cause an exception to be registered with the client connection? If not, how can I get the client to register an exception via the ExceptionListener interface?
Properties p = new Properties(); p.put( "java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory" ); p.put( "java.naming.provider.url", "jnp://localhost:1099" ); p.put( "java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces" ); try { Context context = new InitialContext( p ); ConnectionFactory connectionFactory = ( ConnectionFactory ) context.lookup( "ConnectionFactory" ); Destination destination = ( Destination ) context.lookup( "queue/B" ); Connection connection = connectionFactory.createConnection(); connection.setExceptionListener( new ExceptionListener() { public void onException( JMSException jmsException ) { System.out.println( "EXCEPTION: " + jmsException ); } } ); Session session = connection.createSession( false, Session.CLIENT_ACKNOWLEDGE ); MessageConsumer consumer = session.createConsumer( destination ); consumer.setMessageListener( new MessageListener() { public void onMessage( Message message ) { System.out.println( "Message: " + message ); } } ); connection.start(); } catch( Exception e ) { e.printStackTrace(); }