|
View:
New views
8 Messages
—
Rating Filter:
Alert me
|
|
|
WebSphere IntegrationHi I’ve been trying to integrate Mule
with WebSphere (in my case v6 and now v6.1) and I’ve never managed to
have it “fully” working. Here is what I mean by “fully”. I use WebSphere MQ as a JMS provider and
I have to use XA transactions. Mule is currently running as a webapp in
WebSphere but: 1) it is using JBossTS as the transaction
manager. 2) it is creating its own connection
factory to WebSphere MQ. 1- I’d like to use the WebSphere
Transaction Manager provided by Mule but it doesn’t work. Here is what
IBM had to say about the error I was receiving when trying the WebSphere TM: The reason that this failing is because of the way WebSphere Transactionmanager is architected. The stack call above on page 5: com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource can only be used to enlist a 1PC resource. This is why the exception occurs - Mule ESB is trying to register a 2pc resource. The correct procedure to enlist a 2pc resource for WebSphere is first tocall registerResourceInfo() on the TransactionManager which will return an integer which represents the recoverable resource. This integer is then passed back to TransactionImpl in a call to enlistResource as follows: enlistResource(XAResource xaRes, int recoveryIndex) The call to registerResourceInfo takes the following parameters: registerResourceInfo(String xaResFactoryClassName, XAResourceInfo xaResInfo) or registerResourceInfo(String xaResFactoryClassName, XAResourceInfo xaResInfo, String[] xaResInfoClasspath) if specific classpath information is needed for recovery purposes. These changes should be made by the Mule ESB product.
2 - I also would like to lookup the
ConnectionFactory from JNDI instead of creating it with a spring bean in the
Mule config but when trying to do that I receive the following exception: Caused by:
org.mule.api.model.ModelException: Failed to connect listener
XaTransactedJmsMessageReceiver{this=5bbc5bbc, receiverKey=Test~IN.QUEUE,
endpoint=jms://IN.QUEUE} for endpoint endpoint.jms.IN.QUEUE at
org.mule.service.AbstractService.connectListeners(AbstractService.java:700) at
org.mule.service.AbstractService.start(AbstractService.java:324) at
org.mule.service.AbstractService.start(AbstractService.java:293) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at
java.lang.reflect.Method.invoke(Method.java:618) at
org.mule.lifecycle.DefaultLifecyclePhase.applyLifecycle(DefaultLifecyclePhase.java:263) ...
53 more Caused by:
org.mule.transport.FatalConnectException: ReconnectStrategy
"org.mule.transport.SingleAttemptConnectionStrategy" failed to
reconnect receiver on endpoint "jms://IN.QUEUE" at
org.mule.transport.SingleAttemptConnectionStrategy.doConnect(SingleAttemptConnectionStrategy.java:29) at
org.mule.transport.AbstractConnectionStrategy.connect(AbstractConnectionStrategy.java:108) at
org.mule.transport.AbstractMessageReceiver.connect(AbstractMessageReceiver.java:427) at
org.mule.service.AbstractService.connectListeners(AbstractService.java:696) ...
60 more Caused by:
org.mule.transport.ConnectException: Initialisation Failure:
com.ibm.ejs.jms.JMSSessionHandle incompatible with
org.mule.transaction.XaTransaction$MuleXaObject at
org.mule.transport.AbstractMessageReceiver.connect(AbstractMessageReceiver.java:459) at
org.mule.transport.SingleAttemptConnectionStrategy.doConnect(SingleAttemptConnectionStrategy.java:25) ...
63 more Caused by: java.lang.ClassCastException:
com.ibm.ejs.jms.JMSSessionHandle incompatible with
org.mule.transaction.XaTransaction$MuleXaObject at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.createConsumer(XaTransactedJmsMessageReceiver.java:329) at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.doConnect(XaTransactedJmsMessageReceiver.java:143) at
org.mule.transport.AbstractMessageReceiver.connect(AbstractMessageReceiver.java:438) ...
64 more The reason for all this is that WAS and
MQ integrates very well and I’d like to take advantage of that. I’d
like Mule to be deployed with the JCA Connector I think all mule and websphere users
would really (and I mean REALLY) appreciate to have the WebSphereIntegration
wiki page (http://www.mulesource.org/display/MULE2USER/WebSphere+Integration)
finally updated similarly to the JBoss Integration page (http://www.mulesource.org/display/MULE2USER/JBoss+Integration).
That would help a lot! I will carry on trying and give updates
when I find something new but any help from the Mule developers would be really
appreciated (if a Mule developer could actually try to deploy Mule connector in
WebSphere 6.1 that’d be a good start…) Thanks a lot ************************************************************************
DISCLAIMER
The information contained in this e-mail is confidential and is intended
for the recipient only.
If you have received it in error, please notify us immediately by reply
e-mail and then delete it from your system. Please do not copy it or
use it for any other purposes, or disclose the content of the e-mail
to any other person or store or copy the information in any medium.
The views contained in this e-mail are those of the author and not
necessarily those of Admenta UK Group.
Admenta UK plc is a company incorporated in England and Wales
under company number 3011757 and whose registered office
is at Sapphire Court, Walsgrave Triangle, Coventry CV2 2TX
************************************************************************
|
|
|
Re: WebSphere IntegrationI created a PMR for IBM to address the mule RAR deplyment isue...they r still looking into it..i will update the thread with more info when i get back something from ibm...
|
|
|
RE: WebSphere IntegrationThanks. Please keep us updated with this.
I looked into it a bit further: The IllegalStateException that you receive when deploying the RAR, is due to a classpath issue, org.mule.context.notification.MuleContextNotification cannot be found. This is because org.mule.util.ClassUtils is using Thread.currentThread().getContextClassLoader() (from Apache Commons Lang) to load MuleContextNotification class. But this class loader is not the one which knows about the jars deployed in the RAR (I hope IBM will help on that!) As a test, I tried to remove mule-core jar (which contains MuleContextNotification) from the RAR and put it on the WebSphere classpath. The RAR deployment is now fine but when trying to start the application it gives me the following error: "_ObjectToString" is already registered in the registry..." This usually means that mule-core jar is duplicated on the classpath. This is how far I got. I'll keep trying. It'll be good to hear from IBM (before next year...) Any ideas/suggestions welcome. Pierre -----Original Message----- From: yaravind [mailto:yaravind@...] Sent: 04 July 2008 17:10 To: user@... Subject: Re: [mule-user] WebSphere Integration I created a PMR for IBM to address the mule RAR deplyment isue...they r still looking into it..i will update the thread with more info when i get back something from ibm... -- View this message in context: http://www.nabble.com/WebSphere-Integration-tp18278271p18282314.html Sent from the Mule - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email ************************************************************************ DISCLAIMER The information contained in this e-mail is confidential and is intended for the recipient only. If you have received it in error, please notify us immediately by reply e-mail and then delete it from your system. Please do not copy it or use it for any other purposes, or disclose the content of the e-mail to any other person or store or copy the information in any medium. The views contained in this e-mail are those of the author and not necessarily those of Admenta UK Group. Admenta UK plc is a company incorporated in England and Wales under company number 3011757 and whose registered office is at Sapphire Court, Walsgrave Triangle, Coventry CV2 2TX ************************************************************************ --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
RE: WebSphere IntegrationOk I made some progress...
1- I finally manage to deploy the Mule RAR into WebSphere. I had to modify the org.mule.utils.ClassUtils. The initialiseClass(Class) calls Apache Commons ClassUtils to load the class. This method gets the ContextClassLoader and when running in WebSphere this classloader doesn't know about the class to load. I got it to work with this: public static Class initializeClass(Class clazz) { try { return Class.forName(clazz.getName(), true, clazz.getClassLoader()); // Orignial code // return getClass(clazz.getName(), true); } catch (ClassNotFoundException e) { IllegalStateException ise = new IllegalStateException(); ise.initCause(e); throw ise; } } I am sure there's a good reason why the Mule team used Apache Commons for this. I am not familiar with it, so I'd like the Mule developers to advice on how to fix this. There's probably a dark way of configuring class loaders in WebSphere to make this work, I'll see if I can get some info from IBM. But any help would be appreciated 2- I made progress with the WebSphere TransactionManager too. I had to override the way XA transaction enlist XA Resource in Mule. I attached the classes. It is not finished yet as some parameters I pass to the Transaction Manager are completely rubbish. I believe they are used for tx recovery. I have asked IBM for some more details about it. In the meantime, if anybody can help, it'd be much appreciated. I try the solution in a scenario where a JMS message is copied from a queue to another and a database row is inserted. Commit and rollback (seem to) work fine. I'll update this when I find more. Any suggestions are welcome. Thanks Pierre -----Original Message----- From: Meunier Pierre-Emmanuel [mailto:pierre-emmanuel.meunier@...] Sent: 07 July 2008 12:55 To: user@... Subject: RE: [mule-user] WebSphere Integration Thanks. Please keep us updated with this. I looked into it a bit further: The IllegalStateException that you receive when deploying the RAR, is due to a classpath issue, org.mule.context.notification.MuleContextNotification cannot be found. This is because org.mule.util.ClassUtils is using Thread.currentThread().getContextClassLoader() (from Apache Commons Lang) to load MuleContextNotification class. But this class loader is not the one which knows about the jars deployed in the RAR (I hope IBM will help on that!) As a test, I tried to remove mule-core jar (which contains MuleContextNotification) from the RAR and put it on the WebSphere classpath. The RAR deployment is now fine but when trying to start the application it gives me the following error: "_ObjectToString" is already registered in the registry..." This usually means that mule-core jar is duplicated on the classpath. This is how far I got. I'll keep trying. It'll be good to hear from IBM (before next year...) Any ideas/suggestions welcome. Pierre -----Original Message----- From: yaravind [mailto:yaravind@...] Sent: 04 July 2008 17:10 To: user@... Subject: Re: [mule-user] WebSphere Integration I created a PMR for IBM to address the mule RAR deplyment isue...they r still looking into it..i will update the thread with more info when i get back something from ibm... -- View this message in context: http://www.nabble.com/WebSphere-Integration-tp18278271p18282314.html Sent from the Mule - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email ************************************************************************ DISCLAIMER The information contained in this e-mail is confidential and is intended for the recipient only. If you have received it in error, please notify us immediately by reply e-mail and then delete it from your system. Please do not copy it or use it for any other purposes, or disclose the content of the e-mail to any other person or store or copy the information in any medium. The views contained in this e-mail are those of the author and not necessarily those of Admenta UK Group. Admenta UK plc is a company incorporated in England and Wales under company number 3011757 and whose registered office is at Sapphire Court, Walsgrave Triangle, Coventry CV2 2TX ************************************************************************ --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
RE: WebSphere IntegrationHi
Have you heard from IBM about this PMR? Pierre -----Original Message----- From: yaravind [mailto:yaravind@...] Sent: 04 July 2008 17:10 To: user@... Subject: Re: [mule-user] WebSphere Integration I created a PMR for IBM to address the mule RAR deplyment isue...they r still looking into it..i will update the thread with more info when i get back something from ibm... -- View this message in context: http://www.nabble.com/WebSphere-Integration-tp18278271p18282314.html Sent from the Mule - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email ************************************************************************ DISCLAIMER The information contained in this e-mail is confidential and is intended for the recipient only. If you have received it in error, please notify us immediately by reply e-mail and then delete it from your system. Please do not copy it or use it for any other purposes, or disclose the content of the e-mail to any other person or store or copy the information in any medium. The views contained in this e-mail are those of the author and not necessarily those of Admenta UK Group. Admenta UK plc is a company incorporated in England and Wales under company number 3011757 and whose registered office is at Sapphire Court, Walsgrave Triangle, Coventry CV2 2TX ************************************************************************ --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
RE: WebSphere Integrationthx for the update...can someone from Mule team comment on this...Andrew - any thoughts...
|
|
|
RE: WebSphere IntegrationI have emailed ur findings to IBM seeking info on loading classes from WebSphere...lets wait and see what they have to say!
|
|
|
RE: WebSphere Integrationfyi....ibm has given me an ifix for this...i will try to install and check if that works
|
| Free embeddable forum powered by Nabble | Forum Help |