Knowledge Base

cancel
Showing results for 
Search instead for 
Did you mean: 

JVM Correlation FAQ

Question:

 

Injecting special headers into an application payload is disturbing application functionality. How do I resolve this?

 

Answer:

 

Disable the exit call correlation based on the exit call that is being sent to the payload. There are two ways to disable exit call correlation in order to stop writing correlation headers to the payload.

  1. Refer to the following screenshot for disabling exit call correlation for IBM MQ and other backends. Disable Correlation.png

     

     

  2. Or, register a node property to disable the exit call correlation for some of the backend types.
    • Node Property: disable-exit-call-correlation-for
      Type: String
      Default value: none (you could select HTTP, JMS,RMI)
      Platform: Java, .NET

   For more information: App Agent node properties reference

 

Question:

 

I don’t see some of the async threads tracked on environments where Camel, Mule, JBoss ESB, Tibcow, or Scala are used. Please help!

 

Answer:

 

  1. First, stop the Agent.
  2. Navigate to the app-agent-config.xml file located under agent-install-dir>/conf folder
  3. Add a list of async environment names separated by commas to the config file. This will enable async transaction detection for supported environments, which include all of the above.
    • The snippet will look like this:
      <!-- 
      Add comma-separated list of async environment names.  These will be used to enable async transaction detectionfor supported environments.  Current supported async environments: mule,camel,jbossesb,tibcobw,scala
                       -->
      <!--  property name="enable-async-correlation-for" value="mule,camel,jbossesb,tibcobw,scala"/ -->
  4. Then add the following code above or below the previous snippet:
    <property name="enable-async-correlation-for" value="scala"/>
  5. Start the Agent.

   

 

Question:

 

How should one manage the fact that the read-only nature of JMS messages doesn’t allow for writing headers for attaining correlation?

 

Answer:

 

To modify the read-only JMS message, add the object's package (org.apache.activemq.ra) to the jms-packages-allowed-for-rewriting node property.

 

Example message:

[WorkManager(2)-50] 17 Jul 2017 12:49:03,065 ERROR ReadonlyRewriting_JMSMessageReflector - MessageNotWriteableException caught while setting transaction header. 

 

Property Name: jms-packages-allowed-for-rewriting
Type: String
Value :<object’s package>

 

  • Example 1:
Property Name : jms-packages-allowed-for-rewriting
Type: String
Value :org.apache.activemq.ra

 

  •  Option 2 - Disable JMS correlation on an upstream tier, so that the Agent will not be allowed to write any special headers to the JMS payload. This option will not allow the user to see the correlation between producer and consumer.Disable Correlation.png

     

     

    Node Property: disable-exit-call-correlation-for\
    Type: String
    Default value: none (you could select HTTP, JMS,RMI)
    Platform: Java, .NET

 

For more information: App Agent node properties reference

 

Question:

 

Why is there a correlation missing between Web Service calls between two different technologies? For example, sometimes when Java talks to .NET the correlation is not there.

 

Answer:

 

Register a node property with the following values:

 

Property Name: enable-soap-header-correlation
Type: Boolean
Value: true

 

This property controls the correlation with web service transactions. When enabled, a node which receives a web service transaction may correlate that transaction with any downstream transactions.

 

The ability to correlate depends on the particular web service framework. Currently, correlation is supported only by Apache Synapse and CXF frameworks.

 

When disabled, the Agent will not perform correlation through any web service tiers.

 

 

Related Links:

 

 
Version history
Revision #:
6 of 6
Last update:
‎07-27-2017 09:44 AM
Updated by:
 
Labels (1)
Contributors
0 Kudos