Knowledge Base

cancel
Showing results for 
Search instead for 
Did you mean: 

JBoss EAP Startup Settings

For JBoss EAP AppDynamics supports the underlying JVM and framework versions. Our product documentation has specific installation instructions for JBoss (open-source versions) but those instructions do not necessarily work for JBoss EAP.

 

JBoss EAP (Enterprise Application Platform) is Red Hat's branded and supported version of JBoss AS 7. JBoss AS 7 is already one of the more complex agent integrations, requiring modifications to two files in standalone mode: standalone.conf and standalone.sh.

 

JBoss EAP complicates this integration by having a different layout which changes the location, names and content of these jar files.

 

Documented Settings

 

You can find settings in the public product documentation at JBoss and Wildfly Startup Settings for the following:

  • Linux environment for JBoss EAP 6.11, EAP 6.2.0, and JBoss AS 7.0.x (standalone)
  • RHEL JBoss EAP 6.x, JBoss AS 7.0.x, JBoss 8 (Domain Mode)
  • JBoss 7.2 (standalone)
  • Wildfly 8 (JBoss 8) - the current steps for JBoss 7.x/EAP 6.x work for Wildfly 8.

 

JBoss EAP 6.1 (Standalone)

There is a JBoss EAP 6.1.0 bug that prevents our agent from working. This is fixed in JBoss EAP 6.1.1.

JBoss EAP 6.1.0 bug reference (969530) under the 6.1.1 release notes https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6.1/html-si....

To get around this issue, consider an upgrade to JBoss EAP 6.1.1.

 

The workaround at Step 2 under Quick Install here: JBoss and Wildfly Startup Settings may also work.

 

Troubleshooting JBoss configuration

The standard recipe for sorting out JBoss configuration is the following:

1. Don't add "-XX:-UseSplitVerifier" unless you need to. This is to workaround the case where your class files don't have a StackMap table such as for use with a debugger.

http://stackoverflow.com/questions/15253173/how-safe-is-it-to-use-xx-usesplitverifier

 

2. JBoss EAP 6.10.0 is an OSGI server which changed classloading. It is now a modular classloader.

The option -Djboss.modules.system.pkgs=org.jboss.byteman,com.singularity adds these classes to the OSGI container classpath: org.jboss.byteman 

 

This is for debugging. See http://byteman.jboss.org/
You probably don't need this.

 

3. Setting the following logging options can be problematic.
For example:

  • org.jboss.logmanager in - Djboss.modules.system.pkgs 
  • -Djava.util.logging.manager = org.jboss.logmanager.LogManager
  • -Xbootclasspath /p:/var/jboss-eap-6.1.0/jboss-eap-6.1/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.4.0.Final-redhat-1.jar ...

In theory these seems to be influenced by the application. If you need to set these, then you need to get the right modules associated in the bootclasspath so check the versions. They change.


In practice it seems you can often get away without specifying them, saving a world of pain.

 

In JBoss EAP 6.1.0, this  seems to trigger a JBoss bug which cannot be worked around using the bootclasspath:
https://bugzilla.redhat.com/show_bug.cgi?id=969530 - also referenced earlier in this article.

 

 

Version history
Revision #:
4 of 4
Last update:
‎11-19-2018 08:28 AM
Updated by:
 
Labels (1)
Contributors
0 Kudos
Comments
ben.sunderland

NOTE - some people might no appreciate that turning of DynamicServiceManager actually disables Analaytics  a.k.a, Business IQ from that node.  

 

If you need Analytics on that node, dont turn off DSM. I spent a few days trying to figure out why BusIQ was not working after following this guide, and it turned out to be that.