AppDynamics allows you to configure an EJB-based transaction entry point on either the bean name or method name. The response time for the EJB transaction is measured when the EJB entry point is invoked.

Default Naming for EJB Entry Points

AppDynamics automatically names all the EJB transactions <EJBName>.<MethodName>.

Enabling EJB Transaction Detection

By default, automatic transaction discovery for EJB transactions is turned off. To get visibility into these transactions, enable the auto-discovery for EJB based transactions explicitly.

Before you enable auto-discovery for EJB based transactions, note that:

  • If the EJBs use Spring Beans on the front-end, the transaction is discovered at the Spring layer and the response time is measured from the Spring Bean entry point. 
  • AppDynamics groups all the participating EJB-based transactions (with remote calls) in the same business transaction. However, if your EJBs are invoked from a remote client where the App Server Agent is not deployed, these EJBs are discovered as new business transactions.

You can enable auto-discovery for EJB transactions in any Automatic Transaction Discovery rule for Java. Check Discover Transactions automatically for all Spring Bean invocations on the Rule Configuration tab.

Custom Match Rules for EJB based Transactions

If you are not getting the required visibility with auto-discovered transactions, create a custom match rule for an EJB based transaction. 

The following example creates a custom match rule for the receiveOrder method in the TrackOrder bean.

In addition to the bean and method names, other match criteria that could be used to define the transaction are the EJB type, class name, superclass name, and interface name.

Exclude Rules for EJB Transactions

To exclude specific EJB transactions from detection add a custom exclude rule. The criteria for EJB exclude rules are the same as those for custom match rules.