[jboss-user] [JCA/JBoss] - Integration with Oracle AQ via Sun Adapter

ryandavid do-not-reply at jboss.com
Wed Feb 18 10:47:30 EST 2009


Hello to everybody,
I have to integrate my JBoss 4.0.2 with OracleAQ.
I cannot deploy a JBoss ESB on it because it requires a 4.0.5 at least and I cannot upgrade the server.

So I decided to take the Sun Adapter solution described in the wiki

http://www.jboss.org/community/docs/DOC-9035

So I created an oracleaq-ds.xml like this

  | <?xml version="1.0" encoding="UTF-8"?>
  | <connection-factories>
  | 
  | <mbean code="org.jboss.resource.deployment.AdminObject" name="jboss.oracleaq:service=Queue,name=msg_queue">
  |    <attribute name="JNDIName">oracleaq/queue/msg_queue</attribute>
  |    <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='oracleaq.rar'</depends>
  |    <attribute name="Type">javax.jms.Queue</attribute>
  |    <attribute name="Properties">
  |       DestinationProperties=owner\=senaprod,name\=FROM_QUEUE
  |    </attribute>
  | </mbean>
  | 
  | 
  |    <!-- JMS XA Resource adapter, use this to get transacted JMS in beans -->
  |   <tx-connection-factory>
  |     <jndi-name>jdbc/OracleAQ</jndi-name>
  |     <rar-name>oracleaq.rar</rar-name>
  |     <connection-definition>javax.jms.QueueConnectionFactory</connection-definition>
  |     <config-property name="ConnectionFactoryProperties" type="java.lang.String">host=mydbms,user=scott,password=mypass,port=1521,sid=svil,driver=thin</config-property>
  |     <config-property name="username" type="java.lang.String">scott</config-property>
  |     <config-property name="password" type="java.lang.String">mypass</config-property>
  |     <max-pool-size>20</max-pool-size>
  |   </tx-connection-factory>
  | 
  | </connection-factories>

and deployed the oracleaq.rar as required.

When I try to get a connection

QueueConnectionFactory queueFactory = QueueConnectionFactory)context.lookup("java:jdbc/OracleAQ"); 
  | 	        
  | QueueConnection queueConnection = queueFactory.createQueueConnection();
  | 

I get this error

javax.jms.JMSException: invalid arguments in call
  | 	at com.sun.genericra.util.ExceptionUtils.newJMSException(ExceptionUtils.java:67)
  | 	at com.sun.genericra.outbound.ConnectionFactory.createConnection(ConnectionFactory.java:80)
  | 	at com.sun.genericra.outbound.ConnectionFactory.createQueueConnection(ConnectionFactory.java:115)
  | 	at it.senato.testjms.FeederServlet.startJMSConnection(FeederServlet.java:69)
  | 	at it.senato.testjms.FeederServlet.process(FeederServlet.java:116)
  | 	at it.senato.testjms.FeederServlet.doGet(FeederServlet.java:95)
  | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
  | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  | 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  | 	at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
  | 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
  | 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
  | 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  | 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  | 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  | 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  | 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
  | 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
  | 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
  | 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  | 	at java.lang.Thread.run(Thread.java:595)
  | Caused by: javax.resource.ResourceException: invalid arguments in call
  | 	at com.sun.genericra.util.ExceptionUtils.newResourceException(ExceptionUtils.java:73)
  | 	at com.sun.genericra.outbound.AbstractManagedConnectionFactory.createManagedConnection(AbstractManagedConnectionFactory.java:130)
  | 	at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:508)
  | 	at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:207)
  | 	at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:534)
  | 	at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:395)
  | 	at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:297)
  | 	at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:447)
  | 	at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:874)
  | 	at com.sun.genericra.outbound.ConnectionFactory.createConnection(ConnectionFactory.java:75)
  | 	... 25 more
  | Caused by: oracle.jms.AQjmsException: invalid arguments in call
  | 	at oracle.jms.AQjmsDBConnMgr.checkForSecurityException(AQjmsDBConnMgr.java:926)
  | 	at oracle.jms.AQjmsDBConnMgr.getConnection(AQjmsDBConnMgr.java:605)
  | 	at oracle.jms.AQjmsDBConnMgr.<init>(AQjmsDBConnMgr.java:172)
  | 	at oracle.jms.AQjmsConnection.<init>(AQjmsConnection.java:163)
  | 	at oracle.jms.AQjmsQueueConnectionFactory.createQueueConnection(AQjmsQueueConnectionFactory.java:229)
  | 	at com.sun.genericra.outbound.ManagedQueueConnectionFactory.createConnection(ManagedQueueConnectionFactory.java:60)
  | 	at com.sun.genericra.outbound.AbstractManagedConnectionFactory.createPhysicalConnection(AbstractManagedConnectionFactory.java:141)
  | 	at com.sun.genericra.outbound.AbstractManagedConnectionFactory.createManagedConnection(AbstractManagedConnectionFactory.java:122)
  | 	... 33 more
  | 

All the connection parameters are ok. I decompiled some AQ classes but I don't find nothing. Do you have some idea ?

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4211144#4211144

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4211144



More information about the jboss-user mailing list