Mule

AQ Provider fails with latest JMS Provider

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Duplicate
  • Affects Version/s: 1.3-rc3
  • Fix Version/s: 1.4.0
  • Component/s: Transport: JMS
  • Labels:
    None
  • Environment:

    Websphere 5.1 App Server - JDK 1.4.2 - Latest snapshot of mule 1.3

  • Similar Issues:
    MULE-676 Oracle JMS Provider
    MULE-624 Oracle AQ Provider does not close jdbc connections
    MULE-489 Oracle AQ does not support the JMSReplyTo property
    MULE-915 Move non-Oracle specific functionality to general JMS provider
    MULE-514 Axis provider behaviour regression
    MULE-592 Oracle AQ support broken in 1.3 snapshot + documentation issue
    MULE-9 Functional tests for all providers
    MULE-4280 Failed to initialize security provider
    MULE-1118 Add SwiftMQ to your list of JMS providers
    MULE-1809 JMS bridging always fails with non-XA transactions

Description

AQ works well for me with Mule 1.3 rc2. However, I need the recover connections feature added to the 1.3 rc3 stream to use JMS in websphere.

When I applied the new mule jar, I get the following error:

[5/5/06 10:25:15:594 CDT] 11473280 SystemOut O 2006-05-05 10:25:15,594 [oracleJmsConnector.jms.in.receiver.1] ERROR org.mule.providers.oracle.jms.OracleJmsConnector - Work caused exception on 'workCompleted'. Work being executed was: org.mule.providers.oracle.jms.OracleJmsMessageReceiver@67d572b5
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemOut O 2006-05-05 10:25:15,594 oracleJmsConnector._oaqEndpoint#-985093037.receiver.1 ERROR org.mule.providers.oracle.jms.OracleJmsConnector - Work caused exception on 'workCompleted'. Work being executed was: org.mule.providers.oracle.jms.OracleJmsMessageReceiver@323a72b4
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R org.mule.MuleRuntimeException: Connector that caused exception is: oracleJmsConnector
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at org.mule.providers.AbstractConnector.handleWorkException(AbstractConnector.java:1210)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at org.mule.providers.AbstractConnector.workCompleted(AbstractConnector.java:1192)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at org.mule.impl.work.WorkerContext.run(WorkerContext.java:336)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at java.lang.Thread.run(Thread.java:567)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R Caused by: java.lang.NoSuchMethodError: javax.jms.Session: method createQueue(Ljava/lang/String;)Ljavax/jms/Queue; not found
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at org.mule.providers.jms.Jms11Support.createDestination(Jms11Support.java:131)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at org.mule.providers.oracle.jms.OracleJmsSupport.createDestination(OracleJmsSupport.java:160)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at org.mule.providers.jms.TransactedJmsMessageReceiver.createConsumer(TransactedJmsMessageReceiver.java:268)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at org.mule.providers.oracle.jms.OracleJmsMessageReceiver.createConsumer(OracleJmsMessageReceiver.java:39)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at org.mule.providers.jms.TransactedJmsMessageReceiver.poll(TransactedJmsMessageReceiver.java:140)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at org.mule.providers.oracle.jms.OracleJmsMessageReceiver.poll(OracleJmsMessageReceiver.java:44)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at org.mule.providers.PollingMessageReceiver.run(PollingMessageReceiver.java:73)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R at org.mule.impl.work.WorkerContext.run(WorkerContext.java:289)
[5/5/06 10:25:15:594 CDT] 1b03f283 SystemErr R ... 3 more
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R org.mule.MuleRuntimeException: Connector that caused exception is: oracleJmsConnector
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at org.mule.providers.AbstractConnector.handleWorkException(AbstractConnector.java:1210)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at org.mule.providers.AbstractConnector.workCompleted(AbstractConnector.java:1192)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at org.mule.impl.work.WorkerContext.run(WorkerContext.java:336)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at java.lang.Thread.run(Thread.java:567)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R Caused by: java.lang.NoSuchMethodError: javax.jms.Session: method createQueue(Ljava/lang/String;)Ljavax/jms/Queue; not found
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at org.mule.providers.jms.Jms11Support.createDestination(Jms11Support.java:131)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at org.mule.providers.oracle.jms.OracleJmsSupport.createDestination(OracleJmsSupport.java:160)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at org.mule.providers.jms.TransactedJmsMessageReceiver.createConsumer(TransactedJmsMessageReceiver.java:268)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at org.mule.providers.oracle.jms.OracleJmsMessageReceiver.createConsumer(OracleJmsMessageReceiver.java:39)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at org.mule.providers.jms.TransactedJmsMessageReceiver.poll(TransactedJmsMessageReceiver.java:140)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at org.mule.providers.oracle.jms.OracleJmsMessageReceiver.poll(OracleJmsMessageReceiver.java:44)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at org.mule.providers.PollingMessageReceiver.run(PollingMessageReceiver.java:73)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R at org.mule.impl.work.WorkerContext.run(WorkerContext.java:289)
[5/5/06 10:25:15:594 CDT] 11473280 SystemErr R ... 3 more

JMS works fine with the snapshot release, but AQ does not. As soon as I drop back down to rc2, it works again.

My config is very straightforward:

<connector name="oracleJmsConnector" className="org.mule.providers.oracle.jms.OracleJmsConnector">
<properties>
<property name="url" value="jdbc:oracle:thin:@server.svr.net:1521:db" />
<property name="username" value="aq" />
<property name="password" value="aq" />
</properties>
</connector>

<transformers>
<transformer name="JMSMessageToString"
className="org.mule.providers.jms.transformers.JMSMessageToObject" returnClass="java.lang.String" />
<transformer name="StringToXMLMessage"
className="org.mule.providers.oracle.jms.transformers.StringToXMLMessage"
returnClass="oracle.jms.AdtMessage" />
</transformers>

<mule-descriptor name="OAQToVM"
implementation="CrmComponent">
<inbound-router>
<endpoint address="oaq://CRM_AQ.AQ_XMLTYPE_TEST_QUEUE" >
<properties>
<property name="payloadFactory" value="oracle.xdb.XMLTypeFactory" />
</properties>
</endpoint>
</inbound-router>
<outbound-router>
<router
className="org.mule.routing.outbound.MulticastingRouter">
<endpoint address="vm://test?transformers=JMSMessageToString" />
</router>
</outbound-router>
</mule-descriptor>

Issue Links

Activity

Hide
Ken Katsma added a comment - 10/May/06 05:14 PM

Just wondering if you had any luck duplicating this issue? The AQ adapter is very important to our Mule implementation and we'd like to get this nailed down so we can close out the POC phase of our project and begin build.

I've tried changing the 102b support implementation, but I started getting problems where the AQ connector was trying to connect to my jms queues. Not sure why, but I'm assuming that I just don't know enough about the mule code yet to go mucking about.

Any more info would be helpful.

Thanks,

Ken

Show
Ken Katsma added a comment - 10/May/06 05:14 PM Just wondering if you had any luck duplicating this issue? The AQ adapter is very important to our Mule implementation and we'd like to get this nailed down so we can close out the POC phase of our project and begin build. I've tried changing the 102b support implementation, but I started getting problems where the AQ connector was trying to connect to my jms queues. Not sure why, but I'm assuming that I just don't know enough about the mule code yet to go mucking about. Any more info would be helpful. Thanks, Ken
Hide
Ross Mason added a comment - 11/Oct/06 06:56 AM

Hey Travis,

Is this still an open issue?

Show
Ross Mason added a comment - 11/Oct/06 06:56 AM Hey Travis, Is this still an open issue?
Hide
Travis Carlson added a comment - 12/Oct/06 09:15 AM

I think so, judging from the error:
java.lang.NoSuchMethodError: javax.jms.Session: method createQueue(Ljava/lang/String;)Ljavax/jms/Queue; not found

it most likely has to do with a JMS 1.0.2b vs. 1.1 library conflict on WebSphere - it is probably blocked by MULE-914

We need to get WebSphere, JBoss, Geronimo, etc. set up on our (new) CI server so we can actually reproduce this sort of thing...

Show
Travis Carlson added a comment - 12/Oct/06 09:15 AM I think so, judging from the error: java.lang.NoSuchMethodError: javax.jms.Session: method createQueue(Ljava/lang/String;)Ljavax/jms/Queue; not found it most likely has to do with a JMS 1.0.2b vs. 1.1 library conflict on WebSphere - it is probably blocked by MULE-914 We need to get WebSphere, JBoss, Geronimo, etc. set up on our (new) CI server so we can actually reproduce this sort of thing...
Hide
Andrew Perepelytsya added a comment - 09/Apr/07 05:52 PM

The above error has been observed and fixed with Weblogic, this issue just duplicates the same. The problem stemmed with 'kind-of' backwards compatibility for JMS 1.1. In fact, if classes were compiled against 1.1 and run under JMS 1.0.2b implementation, the java runtime failed to resolve methods properly. Keeping explicit casts provided the hints to the runtime (they are displayed as redundant casts under 1.1, but are really required).

Show
Andrew Perepelytsya added a comment - 09/Apr/07 05:52 PM The above error has been observed and fixed with Weblogic, this issue just duplicates the same. The problem stemmed with 'kind-of' backwards compatibility for JMS 1.1. In fact, if classes were compiled against 1.1 and run under JMS 1.0.2b implementation, the java runtime failed to resolve methods properly. Keeping explicit casts provided the hints to the runtime (they are displayed as redundant casts under 1.1, but are really required).

People

Vote (0)
Watch (1)

Dates

  • Created:
    05/May/06 02:02 PM
    Updated:
    24/Jan/08 05:57 AM
    Resolved:
    09/Apr/07 05:52 PM