jboss eap 6.2 jndi name to remote hornetq
kts92tln8 Aug 21, 2014 4:41 PMhornetq server running without JMS and JNDI server in its own JVM (localhost:5445). Jboss EAP 6.2 standalone running in its own JVM, there are no acceptors running in jboss server.
I've added a q in hornetq server config
<queues>
<queue name="HQ.SELECTORQ">
<address>HQ.SELECTORQ</address>
<durable>true</durable>
</queue>
</queues>
in jboss config using hornetq-ra pooled-connection-factory to connect to hornetq server, following is from standalone-full.xml
<subsystem xmlns="urn:jboss:domain:messaging:1.4">
<hornetq-server>
<persistence-enabled>true</persistence-enabled>
<journal-type>NIO</journal-type>
<journal-min-files>2</journal-min-files>
<connectors>
<netty-connector name="netty" socket-binding="messaging"/>
<netty-connector name="netty-throughput" socket-binding="messaging-throughput">
<param key="batch-delay" value="50"/>
</netty-connector>
<netty-connector name="netty-remote" socket-binding="messaging">
<param key="host" value="localhost"/>
<param key="port" value="5445"/>
</netty-connector>
<in-vm-connector name="in-vm" server-id="0"/>
</connectors>
<security-settings>
<security-setting match="#">
<permission type="send" roles="guest"/>
<permission type="consume" roles="guest"/>
<permission type="createNonDurableQueue" roles="guest"/>
<permission type="deleteNonDurableQueue" roles="guest"/>
</security-setting>
</security-settings>
<address-settings>
<address-setting match="#">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<max-size-bytes>10485760</max-size-bytes>
<page-size-bytes>2097152</page-size-bytes>
<address-full-policy>PAGE</address-full-policy>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
</address-setting>
</address-settings>
<jms-connection-factories>
<connection-factory name="InVmConnectionFactory">
<connectors>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/ConnectionFactory"/>
</entries>
</connection-factory>
<connection-factory name="RemoteConnectionFactory">
<connectors>
<connector-ref connector-name="netty"/>
</connectors>
<entries>
<entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
</entries>
</connection-factory>
<pooled-connection-factory name="hornetq-ra">
<transaction mode="xa"/>
<connectors>
<connector-ref connector-name="netty-remote"/>
</connectors>
<entries>
<entry name="java:/JmsXA"/>
</entries>
<ha>true</ha>
<client-failure-check-period>10</client-failure-check-period>
<retry-interval>1000</retry-interval>
<retry-interval-multiplier>1.0</retry-interval-multiplier>
<max-retry-interval>60000</max-retry-interval>
<reconnect-attempts>1000</reconnect-attempts>
</pooled-connection-factory>
</jms-connection-factories>
</hornetq-server>
</subsystem>
an EJB running in jboss server is trying to put msg on queue in hornetq server (HQ.SELECTORQ) using JMS and JNDI. I could use 'java:/JmsXA' connectionfactory,
however I couldnot figure how to define a jndi name for HQ.SELECTORQ queue in jboss config.
following is my code trying toi put msg on the queue that is invoked by an ejb running in jboss server
Context ctx = new InitialContext();
ConnectionFactory cf = (ConnectionFactory) ctx.lookup(connectionFactoryJndi);
dest = (Destination) ctx.lookup("what jndi name should go here ???");
con = cf.createConnection();
session = con.createSession(false, Session.AUTO_ACKNOWLEDGE);
producer = session.createProducer(dest);
tmsg = session.createTextMessage(msg);
producer.send(tmsg);
If there is any documentation and notes I need to look please point me to it.
Thanks.