Wednesday, June 17, 2009

JMS Adapter Stories - SOA on Weblogic

Last month, many interesting SOA on weblogic issues came up, here are some of them -

issue#1. Connecting JMS Queues (hosted on SOA Suite10.1.3.4 on Weblogic9.2) from SOA Suite10.1.3.4 on OC4J MLR#8

The steps mentioned here, should have just worked fine, however we found that postMLR#2 there is a bug and it was not working, which got fixed by removing WLclient classes from the orabpel-thirdparty.jar

issue#2 no connection available in JMS Adapter Connection pool, this issue is still open, we really don’t know why the pool was getting full with 100 active connections and not releasing any. We retired/off all the bpels except the one we need to test and the error didn't happen. Also we were using weblogic.jms.ConnectionFactory, we need to change it to a proper JNDI referenced connection factory and try.

We tried setting ‘cacheConnections’ outbound partnerlink property in bpel.xml to false, but no visibile differnce was noticed.

issue#3 Cannot call Connection.commit in distributed transaction.
Transactions are a big topic and needs special attention and research. however quick findings was if there are commits in pl/sql, the datasource used in dbadapter has to be non-xa. On a separate note there is a LLR option if selected causes error. Also JMS Adapter doesn't start unless it’s XA, the connection factory can be non-xa. The transaction topic i will try elaborate in new posts later.

issue#4 We tried looking up AQ/JMS from weblogic using the steps here, however on one server it was not working, throwing Caused by: oracle.jms.AQjmsException: JMS-204: An error occurred in the AQ JNI layer
However, it turned out it was a access privilage issue with the userid, need to investigate more what access issues the user has. A good discussion here