2 JBoss instance - 1. for JBoss Messaging and 2. Remote Cons
ekobir Oct 29, 2009 9:54 AMHi All
I couldn't figure out how to configure 2. jboss instance to use queues deployed on the 1. jboss instance. As our application is deployed in jboss, we want to cache jms connections as explained in the article below
http://www.jboss.org/community/wiki/ShouldIcacheJMSconnectionsandJMSsessions
In order to use JmsXA with remote messaging provider, I changed jms-ds.xml like below
<mbean code="org.jboss.jms.jndi.JMSProviderLoader" name="jboss.messaging:service=JMSProviderLoader,name=JMSProvider, server=192.168.4.107"> <attribute name="ProviderName">remoteJMSProvider</attribute> <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute> <attribute name="FactoryRef">java:/XAConnectionFactory</attribute> <attribute name="QueueFactoryRef">java:/XAConnectionFactory</attribute> <attribute name="TopicFactoryRef">java:/XAConnectionFactory</attribute> <attribute name="Properties"> java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces java.naming.provider.url=192.168.4.107:1300 </attribute> </mbean> <!-- JMS XA Resource adapter, use this to get transacted JMS in beans --> <tx-connection-factory> <jndi-name>JmsXA</jndi-name> <use-java-context>false</use-java-context> <xa-transaction/> <rar-name>jms-ra.rar</rar-name> <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition> <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property> <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/remoteJMSProvider</config-property> <max-pool-size>20</max-pool-size> <security-domain-and-application>JmsXARealm</security-domain-and-application> <depends>jboss.messaging:service=ServerPeer</depends> </tx-connection-factory>
Both JBoss version : 5.0.1.GA
JBossMessaging : 1.4.1.GA
Error : nested exception is javax.naming.NameNotFoundException: queue/outboundQueue
org.springframework.jms.support.destination.DestinationResolutionException: Destination [/queue/outboundQueue] not found in JNDI; nested exception is javax.naming.NameNotFoundException: queue/outboundQueue
There is no problem accessing this queue via XAConnectionFactory, but as you know performance is very important.
Second Part: I was using hsqldb for jboss messaging for initial performance tests. it performed as we expected.
Then I started using mysql db for jboss messaging(this is the only change), application became 5 times slower.
Do you have any suggestion to resolve this?
Thanks for your help and time.