Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

folks.. help me out.. I am

Status
Not open for further replies.

lecmns

Programmer
Sep 11, 2001
19
0
0
IN
folks..

help me out..
I am thoroughly confused..

let me explain my set up..

I have two machines 'A' and 'B'.
'A' is an application server (Weblogic 6.1 on NT)
'B' is an NT machine with MQSeries 5.2

I have an stateless session bean in 'A' who uses a class that extends the JMS APIs and sends messages to 'B'. I have a few classes in 'B' which listens to the queue in 'B' and it picks up, process it and puts it back in the same queue with different properties. The API call in 'A' which has put the request message to 'B' had alread ystarted a listener to pick up the response message put from 'B' after processing. So, this listener in 'A' should pick the response back and leave it to the EJB from where the request was initiated.

This is working but not always.

Sometimes in 'B', the response message is made and put into the queue which I can see from the logs but it looks like it is not reaching the Queue in 'B'. For this reason, my listener in 'A' times out and ends abnormally. I will not get to see the response message put into the queue in 'B' through the MQExplorer even then.. But after sometime, it will appear in the queue in 'B' as if it was stuck somewhere for some reason.

What do you think the reason could be?

Machine 'B' has 192 MB of RAM and 10 GB HDD.
Machine 'A' has nearly 400 MB of RAM and 10 GB HDD.

Since I have seen it working many times, I don't think there's a technical error in the code. But still, now that it is not consistent, I am doubtful. But am confused too.

In between, I heard that EJB 2.0 does not support creation of a listener as now it starts supporting Message Driven Beans. Is that the case? Will that be the reason?

Guys, help me out..
am stuck!!

MNS lecMns
B'lore
 
It sounds like you are putting the message from B within a syncpoint. For some reason your B application is putting the message but not committing the transaction. Is it possible that you are not doing an explicit commit but instead relying on an implicit commit when the program ends?

This can also be demonstrated when you see a curdepth > 0 but when you try to browse the messages there is nothing available (assuming you have the right MsgId, CorrelId etc).

In JMS terminology you need to look at the scope of the transaction (if you are using transactions) to see whether you are using MQ syncpoint or not. Sorry I can't be more specific but it's been a long time since I looked at JMS and MQ.

Check the 'Using Java' MQSeries manual for full details.

Cheers,
Paul
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top