JMS processing few messages after that putting all the messages in pending list.

We have Message Driven Beans listening to the queue.
We have a client which is sending JMS messages to the Queue. It sends 100s of messages one by one. On the server, eight messages are being listened to and processed. The rest are ending up in the pending messages.

Do you have any idea what could be going wrong and why would it not process the rest of the messages. I'm trying to debug using the eclipse, what I found out was, after eight messages, the listener method on the MDB, which is 'onMessage' is not at all called again.

Its very little information I have provided. If you want to know anything, like configuration details or code snippets, please let me know.

 
LVL 1
pandey5Asked:
Who is Participating?
 
cjjcliffordConnect With a Mentor Commented:
cheers (btw, accept the answer if it worked)
0
 
cjjcliffordCommented:
how are you handling ACK of the messages? What transactionality handling is set for the MDB?
0
 
pandey5Author Commented:
ACK is AUTOACKNOWLEDGE
Transaction Type is REQUIRED.


This is snippet from the thread dump once the server stopped receiving any messages:

"ExecuteThread: '6' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x28 9b8410 nid=0x634 in Object.wait() [2af1f000..2af1fdb0]at java.lang.Object.wait(Native Method)
- waiting on <0x109c0eb8> (a weblogic.transaction.internal.ServerTransactionImpl)at weblogic.transaction.internal.ServerTransactionImpl.waitForPrepareAcks(ServerTransactionImpl.java:2264)
- locked <0x109c0eb8> (a weblogic.transaction.internal.ServerTransactionImpl)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:1971)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:252)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:221)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:412)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
cjjcliffordCommented:
been a while since I've worked on Weblogic, but it definitely looks like its waiting on a transaction... unless you are actually doing some transaction related processing in the MDB set the Transaction Type to "NotSupported", otherwise it could be waiting for an XA transaction to be commited somewhere....
0
 
pandey5Author Commented:
Thanks a lot. It worked after changing the transaction type to NotSupported. :-)
0
 
cjjcliffordCommented:
thanks. Why just a B though :-)
0
All Courses

From novice to tech pro — start learning today.