Author |
Message
|
hornbeam123 |
Posted: Mon Sep 27, 2004 12:07 pm Post subject: jms mq and was5 mdb processing |
|
|
Centurion
Joined: 01 Nov 2003 Posts: 101
|
We have been experiencing performance problems with requests put by a jms/mq appln and a WAS5 mdb listener process getting the messages. First of all the message is persistent and is generally accepted at our installation that this should be non-persistent. A change will go in imminently.
Also thrown in to the equation is the property Target Client currently set as 'JMS' - we have been told that this is causing the MDB listener to behave badly. We have been advised to change to 'MQ'. Can anybody ratify this ?
Also is the JMS/MQ put, of the request msg, being done implicitly under syncpoint if message is persistent ?
Is it possible that the was5 mdb listener is getting messages under syncpoint-if-persistent and only committing once the request queue is drained.
Several points. Appreciate any learned response. |
|
Back to top |
|
 |
vennela |
Posted: Mon Sep 27, 2004 12:46 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
Quote: |
Also thrown in to the equation is the property Target Client currently set as 'JMS' - we have been told that this is causing the MDB listener to behave badly. |
AFAIK it should be JMS rather than MQ |
|
Back to top |
|
 |
hornbeam123 |
Posted: Mon Sep 27, 2004 2:39 pm Post subject: jms mq and was5 mdb processing |
|
|
Centurion
Joined: 01 Nov 2003 Posts: 101
|
Vennela,
Thanks for your response but could you please elaborate. |
|
Back to top |
|
 |
vennela |
Posted: Mon Sep 27, 2004 5:59 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
MDB is a J2EE thing. So, an MDB listening on a queue, is expected to work right if the message that arrives on the queue is a JMS message rather than with a non JMS message or a straight MQ message. However, MDBs that run under WAS will work either way. A JMS message causing the MDB to behave badly is a bogus claim I think.
Quote: |
Also is the JMS/MQ put, of the request msg, being done implicitly under syncpoint if message is persistent ?
|
I don't think so. |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Sep 27, 2004 7:34 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Quote: |
First of all the message is persistent and is generally accepted at our installation that this should be non-persistent |
What is your model ? Request Reply ? you did not specify...
So your quote has little value. Why would you want it to be non-persistent ??
Quote: |
Also thrown in to the equation is the property Target Client currently set as 'JMS' - we have been told that this is causing the MDB listener to behave badly. We have been advised to change to 'MQ'. Can anybody ratify this ? |
Even though we are using strait MQ from a non JMS system to a JMS system and have very few problems with it I expect this statement to be just a plain hoax.!!
Quote: |
Also is the JMS/MQ put, of the request msg, being done implicitly under syncpoint if message is persistent ? |
The persistency of the put message depends on the queue attributes (local or remote)
Quote: |
Is it possible that the was5 mdb listener is getting messages under syncpoint-if-persistent and only committing once the request queue is drained. |
I guess this sounds just like another hoax. In fact it all depends on the transactional setup of your MDB methods. The default would be to make each message be it's own transaction. I.E. a commit is being done after each message is processed. Now if you have a problem there I'd refer you to a J2EE manual about deployment properties of EJB's/MDB's
Enjoy  |
|
Back to top |
|
 |
bower5932 |
Posted: Tue Sep 28, 2004 5:39 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
And if you are worried about transactions, then make sure you are either using container managed or bean managed whichever is appropriate for you. To be honest, if transactions are a concern, you should be using contianer managed since that is the only way to have the delivery of the message to the MDB be part of a transaction. |
|
Back to top |
|
 |
hornbeam123 |
Posted: Sat Oct 02, 2004 4:46 am Post subject: jms mq and was5 mdb processing |
|
|
Centurion
Joined: 01 Nov 2003 Posts: 101
|
Thanks everybody for your help.
This week and next we will be making some changes to improve our performance. I will keep you posted. |
|
Back to top |
|
 |
hornbeam123 |
Posted: Mon Oct 18, 2004 10:11 am Post subject: jms mq and was5 mdb processing |
|
|
Centurion
Joined: 01 Nov 2003 Posts: 101
|
UPDATE
Performance problem has been fixed well at least circumvented.
We experimented with targclient=mq / jms made no diff as was suspected. We also changed request to non-persistent made no diff on the user repsonse but best practice anyhow.
The MDB was processing messages off one request queue from two frontend systems. One system was performing ok the other was not. What gave us the breakthrough was separating the two applications, firstly on different hosts then creating another request queue and another MDB to service it.
However we have been able to recreate some erratic behaviour in test with two programs both writing requests and receiving replies with the single MDB server / single request q. So we are homing in hopefully.
Will keep you posted. |
|
Back to top |
|
 |
JLRowe |
Posted: Tue Oct 19, 2004 3:53 am Post subject: |
|
|
 Yatiri
Joined: 25 May 2002 Posts: 664 Location: South East London
|
Have you increased the max session count of your listener port?
The default in WAS is 1, which means one message at a time. |
|
Back to top |
|
 |
|