• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

JMS listener exception: Queue sessions increment

 
Ranch Hand
Posts: 188
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Dear people,
I have encountered a strange behaviour of my WebSphere App Server 5.02. This problem is caused by an exception thrown when I increase the JMS Queue session. (I used the WebSphere's default impl of JMS queues). If I leave the default settings as '1' it works fine. Anything above '1' fails.
Somebody did hint to me that this problem could be because of multiple CPu running on the server. True enough, mine is a 4 CPU machine.
An excerpt of the exceptions: -
 
author
Posts: 181
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I need to see more of the exception. There have been a few JMS XA related eFixes after 5.0.2 that you should look for.
 
Jes Sie
Ranch Hand
Posts: 188
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Roland Barcia:
I need to see more of the exception. There have been a few JMS XA related eFixes after 5.0.2 that you should look for.


Oh, can you pls point me to a site that speak of the fixes?
We did turn on the Queue Connection Factory's XA. Theoritically, my system don't need it. Maybe I can try turning it off.
Here are more exceptions: -
 
Roland Barcia
author
Posts: 181
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
[26/04/04 10:08:43:483 NZST] 324f0b4e BatchProcessi E data4s.filter.ejb.stsb.messagelisteners.BatchProcessingFacadeBean TRAS0014I: The following exception was logged java.lang.NumberFormatException:
at java.lang.Long.parseLong(Long.java:340)
at java.lang.Long.parseLong(Long.java:372)
at java.text.DigitList.getLong(DigitList.java:149)
at java.text.DecimalFormat.parse(DecimalFormat.java:816)
at java.text.NumberFormat.parse(NumberFormat.java:279)
at data4s.filter.util.ListComparatorHelper.isValid(ListComparatorHelper.java:100)
at data4s.filter.model.ChannelCheck.isValid(ChannelCheck.java:203)
at data4s.filter.model.CheckDefinition.passesChannelChecks(CheckDefinition.java:665)
at data4s.filter.model.CheckDefinition.getMatches(CheckDefinition.java:571)
at data4s.filter.controller.Processing.executeCheck(Processing.java:1230)
at data4s.filter.controller.Processing.executeAllChecks(Processing.java:1021)
at data4s.filter.ejb.helpers.ProcessingHelper.execute(ProcessingHelper.java:118)
at data4s.filter.ejb.stsb.messagelisteners.BatchProcessingFacadeBean.executeProcessing(BatchProcessingFacadeBean.java:347)
at data4s.filter.ejb.stsb.messagelisteners.BatchProcessingFacadeBean.process(BatchProcessingFacadeBean.java:232)
at data4s.filter.ejb.stsb.messagelisteners.BatchProcessingFacadeBean.onMessage(BatchProcessingFacadeBean.java:137)
at data4s.filter.ejb.stsb.messagelisteners.EJSRemoteStatelessBatchProcessingFacade_7432bb11.onMessage(Unknown Source)
at data4s.filter.ejb.stsb.messagelisteners._BatchProcessingFacade_Stub.onMessage(_BatchProcessingFacade_Stub.java:267)
at data4s.filter.ejb.mdb.BatchProcessingBean.onMessage(BatchProcessingBean.java:104)
at com.ibm.ejs.jms.listener.MDBWrapper$PriviledgedOnMessage.run(MDBWrapper.java:205)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.ejs.jms.listener.MDBWrapper.callOnMessage(MDBWrapper.java:194)
at com.ibm.ejs.jms.listener.MDBWrapper.onMessage(MDBWrapper.java:172)
at com.ibm.mq.jms.MQSession.run(MQSession.java:1043)
at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:922)
at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSession.java:697)
at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:482)
at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:449)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:37)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:91)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
Looking at the trace, your MDB is being called successfully:
[B}data4s.filter.ejb.mdb.BatchProcessingBean.onMessage(BatchProcessingBean.java:104)
at [B]
data4s seems like your package. The number format exception is deep in
[B]
data4s.filter.util.ListComparatorHelper.isValid(ListComparatorHelper.java:100)
at data4s.filter.model.ChannelCheck.isValid(ChannelCheck.java:203)
at [B]

It looks like you ar throwing an exception all the way back up to the container. You should catch all possible checked Exceptions at the onMessage level to avoid it going back to the Container.
 
Jes Sie
Ranch Hand
Posts: 188
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Roland Barcia:

It looks like you are throwing an exception all the way back up to the container. You should catch all possible checked Exceptions at the onMessage level to avoid it going back to the Container.


I understand what you're syaing. The interesting bit is that we have no problem running under 1 JMS Connection. The minute it's turned to more than 1, it blows up. We did suspect it's because of a multiple CPU env.
Any other hints, please?
 
Roland Barcia
author
Posts: 181
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Perhaps you have some type of static variable that is not thread safe and only manifests itself when you have multiple threads (which is a consequence of upping the session count)?
 
The first person to drink cow's milk. That started off as a dare from this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic