Generic JMS Client with EAP/ActiveMQ
Jump to navigation
Jump to search
Internal
Overview
Also see:
Classpath
The classes required by the remoting and ActiveMQ client-side logic are available in $JBOSS_HOME/bin/client/jboss-client.jar so an EAP7/ActiveMQ client typically includes that JAR on its classpath.
Authentication
By default, ActiveMQ does not allow unauthenticated connections. A connection must be created for a specific user, providing appropriate credentials. The user must be added to the "ApplicationRealm", and it must have the "guest" role (it must be associated with the "guest" group when creating the user). That identity will be used to create JMS connections.
For more details on using add-user.sh, see:
Essential Code
Properties p = new Properties(); p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory"); p.put(Context.PROVIDER_URL, "http-remoting://localhost:8080"); InitialContext ic = new InitialContext(p); Destination destination = (Destination)ic.lookup("jms/queue/novaordis"); ConnectionFactory cf = (ConnectionFactory)ic.lookup("/jms/RemoteConnectionFactory"); Connection c = cf.createConnection("jmsuser", "jmspassword"); c.start(); Session s = c.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer producer = session.createProducer(destination); Message m = session.createTextMessage("something"); producer.send(m); c.close();