Error in HornetQ integration with JBoss 4.x
rezaghp Jul 27, 2010 1:34 AMHi,
I am sure the similar question has come up before but I write this after reading all the related topics!
My JBoss 4.x is JEE 5 compliant. I went through the quick-start guide and added HornetQ to my own profile (not default) changing jbossas.profile.source and target. It completes fine. This is what i have:
My MDB:
@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/ExampleQueue"), @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") }) @ResourceAdapter("hornetq-ra.rar") public class MDB implements MessageDrivenBean, MessageListener {
I see all the changes for HornetQ in deploy directory but I get hornetq.sar in my deploy directory but expected hornetq.rar according to the manual.
I have one jms-ds.xml in the delopy folder and one in hornetq.sar directory. The one in deploy dir contains:
.... <!-- JMS XA Resource adapter, use this to get transacted JMS in beans --> <tx-connection-factory> <jndi-name>JmsXA</jndi-name> <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:/DefaultJMSProvider</config-property> <security-domain-and-application>JmsXARealm</security-domain-and-application> <max-pool-size>20</max-pool-size> </tx-connection-factory> ...
and the one in hornetq.sar contains:
<tx-connection-factory> <jndi-name>JmsXA</jndi-name> <xa-transaction/> <rar-name>jms-ra.rar</rar-name> <connection-definition>org.hornetq.ra.HornetQRAConnectionFactory</connection-definition> <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property> <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/DefaultJMSProvider</config-property> <max-pool-size>20</max-pool-size> <security-domain-and-application>JmsXARealm</security-domain-and-application> </tx-connection-factory> </connection-factories>
And when I deploy i get different exceptions:
[org.jboss.system.ServiceController] Problem starting service jboss.jca:service=RARDeployment,name='jms-ra.rar' org.jboss.deployment.DeploymentException: Error for resource adapter class org.hornetq.ra.HornetQResourceAdapter accessing property setter ConfigPropertyMetaData@10dbef1[name=TransactionManagerLocatorMethod type=java.lang.String value=getTm descriptions=[DescriptionMetaData@ce41cc[language=en description=The method to use for locate the transactionmanager]]]; - nested throwable: (java.lang.NoSuchMethodException: org.hornetq.ra.HornetQResourceAdapter.setTransactionManagerLocatorMethod(java.lang.String)) at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:53) at org.jboss.resource.deployment.ResourceAdapterFactory.createResourceAdapter(ResourceAdapterFactory.java:100) .. [org.jboss.messaging.util.ExceptionUtil] Queue[/queue/DLQ] startService javax.jms.InvalidDestinationException: Destination DLQ already exists .. [org.jboss.messaging.util.ExceptionUtil] Queue[/queue/ExpiryQueue] startService javax.jms.InvalidDestinationException: Destination ExpiryQueue already exists .. [org.jboss.deployment.MainDeployer] Could not create deployment: file:/D:/dev/jboss-server/bp-jboss/jboss-developer/server/bopc-with-hq/deploy/jms-ds.xml org.jboss.deployment.DeploymentException: Trying to install an already registered mbean: jboss.jca:service=TxCM,name=JmsXA at org.jboss.system.ServiceCreator.install(ServiceCreator.java:103) .. [org.jboss.system.ServiceController] Problem starting service jboss.j2ee:ear=Services-ProductCatalogue.ear,jar=Services-ProductCatalogue.jar,name=MDB,service=EJB3 org.jboss.deployment.DeploymentException: Unable to create activation spec ra=jboss.jca:service=RARDeployment,name='hornetq-ra.rar' messaging-type=javax.jms.MessageListener properties={destinationType=ActivationConfigProperty(destinationType=javax.jms.Queue), destination=ActivationConfigProperty(destination=queue/ExampleQueue)}; - nested throwable: (javax.management.InstanceNotFoundException: jboss.jca:service=RARDeployment,name='hornetq-ra.rar' is not registered.) at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:53) ... org.jboss.deployment.DeploymentException: Trying to install an already registered mbean: jboss.jca:service=TxCM,name=JmsXA ... org.jboss.deployment.DeploymentException: Unable to create activation spec ra=jboss.jca:service=RARDeployment,name='hornetq-ra.rar' messaging-type=javax.jms.MessageListener properties={destinationType=ActivationConfigProperty(destinationType=javax.jms.Queue), destination=ActivationConfigProperty(destination=queue/ExampleQueue)}; - nested throwable: (javax.management.InstanceNotFoundException: jboss.jca:service=RARDeployment,name='hornetq-ra.rar' is not registered.) at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:53) ... [org.jboss.security.auth.spi.UsersRolesLoginModule] Failed to load users/passwords/role files java.io.IOException: No properties file: users.properties or defaults: defaultUsers.properties found at org.jboss.security.auth.spi.Util.loadProperties(Util.java:315) ... [org.jboss.messaging.util.ExceptionUtil] ConnectionFactoryEndpoint[jboss.messaging.connectionfactory:service=ConnectionFactory] createFailoverConnectionDelegate [d-wtx084cg-1-i2zz74cg-nhvdja-f28a34] javax.jms.JMSSecurityException: User null is NOT authenticated ...
Any Idea?
Thanks