Infrastructure (Server, Network, Database)

cancel
Showing results for 
Search instead for 
Did you mean: 

Tomcat JMS Transaction Snapshot

Wanderer

Tomcat JMS Transaction Snapshot

Hi,

 

I have a JMS based application running on Tomcat Server. The users will be sending their queries by using this application. To collect the queries from each user we are using ActiveMQ.

 

To process the queries from users, there is anohter Tomcat Server (Asyncronous Thread) picks up the query details from the ActiveMQ and processes it and stores it in a Database. Please note that to consume the meassge from the queue we are using (AsyncReceiver, Not the onMessage listener).

 

This architecture is more like a produce and consumer.

 

We have enabled AppD's pro trail to monitor the above. We are not able to see both the Tomcat servers inter connected in transaction snapshot for the users request. We are only seeing the Tomcat1 - ActiveMQ always.

Tomcat JMS Transaction Snapshot
6 REPLIES 6
AppDynamics Team

Re: Tomcat JMS Transaction Snapshot

Hi

 

Could you please file a support case on zendesk with all detailed information requested here so that we could do detailed debugging to get the visibility for you.Once you log support ticket, please close this community issue.

 

Please upload the following information when you file a zendesk ticket

 

1) Zipped agent logs in debug mode from both producer and consumer. Please find attached screenshot to capture agent logs in debug mode. Please make sure that there is a traffic on the application when debug mode is ON. In case of consumer, please enable a node property

find-entry-points to true as shown in attached screenshot

 

2) Call graph of the BT which is sending messages to Queue

 

3) As the correlation is broken, there is a chance that it might have triggered a new BT on consumer end. If that is the case, please send us the call graph of that BT as well

 

4) Screenshot of what you see from UI

 

Thanks

Rajesh

Wanderer

Re: Tomcat JMS Transaction Snapshot

Attached Required Details

AppDynamics Team

Re: Tomcat JMS Transaction Snapshot

Hi,

 

As requested earlier, could you please close this case and file a zendesk ticket using https://help.appdynamics.com/ and enclose details over there. The reason why i am asking you to create a zendesk ticket is if required, we could do a GoTo Meeting to look at your application code.

 

Thanks

Rajesh

AppDynamics Team

Re: Tomcat JMS Transaction Snapshot

Hi,

 

Please ignore my earlier message to log a zendesk ticket. We will continue to debug the issue here itself.

 

We have analyzed the logs and please find our observations listed here

 

1) the strange part is Producer part which is hosted on Tomcat is putting messages in the Queue "Active MQ-TEST.MSG" and is properly shown on controller UI

2) the Consumer part which is hosted on "JBOSS" is supposed to read messages from the Queue is shown as writing the messages to the same Queue "Active MQ-TEST.MSG"

 

We see a lot of disconnect in what you mentioned and what we see here. 

 

2) We see a BT named "/JmsExample/Consumer.jsp" on downstream tier (Consumer). Is this consumer configured to listen messages from Queue based on updates in Queue (or) Are you manually invoking the consumer to read messages from Queue. Please confirm.

 

Having seen discrepancies, we would like to do a GoTo Meeting session to debug further on this case. If you are ready to do a GTM, please let us know what time and time zone works for you. 

 

In the GoTo Meeting session, we would like to look at whole application stack at consumer end to see what is happening here. If required, we wanted to inspect your application code and accordingly depending on the debugging, we might try to apply JMS Entry Marker Interceptor/enable jms receive correlation.

 

Thanks

Rajesh

Wanderer

Re: Tomcat JMS Transaction Snapshot

Hi,

 

Yes, i am manually invoking the consumer to read messages from Queue. 

AppDynamics Team

Re: Tomcat JMS Transaction Snapshot

Hi,

 

Thanks for the update. As you mentioned that you are manually invoking consumer to read messages from queue, that explains the reason for current behavior. You expect to see Consumer establishing connection to Queue and then read messages from queue.

 

So from screenshot, we see the same thing that Producer putting messages to ActiveMQ to put messages into Queue with an arrow towards Queue and Consumer establiblishing calls to Active MQ to read from the queue with an arrow showing towards the Queue..

 

 

So what you see is an expected behavior that there will not be any genuine correlation as you are manually invoking consumer to read messages from Queue. 

 

Rather if it was Message Listener(onMessage/receive) configured to read messages from Queue, then you would expect to see Producer putting messages into Queue with an arrow towards the Queue and the Consumer reading messages from the Queue with an arrow towards Consumer.

 

Hope that makes sense now.

 

Thanks

Rajesh