When running an IBM JVM, the APM documentation recommends using AgentNoRedefNoRetrans.jar instead of Agent.jar for WebSphere Application Server. Is that also true for any other type of Application Server running an IBM JVM e.g. WebLogic.

book

Article ID: 15759

calendar_today

Updated On:

Products

CA Application Performance Management Agent (APM / Wily / Introscope) INTROSCOPE

Issue/Introduction



When running an IBM JVM, the APM documentation recommends using AgentNoRedefNoRetrans.jar instead of Agent.jar for WebSphere Application Server running. Is that also true for any other type of Application Server running an IBM JVM e.g. WebLogic?

Environment

APM 9.x, 10.x agents installed on Application Servers using an IBM JVM

Resolution

1. The IBM JVM has several optimizations built in that can break when a vendor attaches an agent that advertises itself as 'can dynamically change bytecode' and this behaviour applies to ALL vendors implementing the java agent, not just CA APM. Therefore to prevent possible JVM related errors, instead of using the standard Agent.jar, it is recommended to use the AgentNoRedefNoRetrans.jar which deactivates class redefinition and retransformation. The AgentNoRedefNoRetrans.jar essentially tells the JVM that this agent will not attempt any dynamic bytecode changes and the JVM is then able to work with the agent without errors.

2. If when instrumenting any Application Server running an IBM JVM problems are encountered, the recommendation is to switch from using the Agent.jar to the AgentNoRedefNoRetrans.jar & associated IntroscopeAgent.NoRedef.profile. To gain access to the files the WebSphere NoInstaller files agent package should be installed & the IntroscopeAgent.NoRedef.profile will need appropriate changes for the Application Server being used e.g. for WebLogic:

a. Copy websphere-typical-NoRedef.pbl to weblogic-typical-NoRedef.pbl. 

b. In weblogic-typical-NoRedef.pbl: 

Remove 2 lines: ws60x.pbd and ws70x.pbd 

Add 2 lines: wl90x.pbd and wl100x.pbd 

c. Backup IntroscopeAgent.NoRedef.profile and edit as follows: 

Change 3 lines: 

introscope.autoprobe.directivesFile=websphere-typical-NoRedef.pbl,hotdeploy 

introscope.agent.customProcessName=WebSphere 

introscope.agent.agentName=WebSphere Agent 

To: 

introscope.autoprobe.directivesFile=weblogic-typical-NoRedef.pbl,hotdeploy 

introscope.agent.customProcessName=WebLogic 

introscope.agent.agentName=WebLogic Agent 

Additional Information

Home > Implementing Agents > Java Agent > Install the Java Agent > Configure Application Server to Use the Java Agent > Configure WebSphere Application Server to Use the Java Agent

Also expand the Comments section at the bottom of above page to see Sergio Morales' statement: "It's recommended to use AgentNoRedefNoRetrans.jar for any IBM JVM not only 1.6"