This topic describes how to configure transaction entry points for the EJB based requests.
EJB-Based Business Transactions
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>. 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.
Keep in mind the following before you enable auto-discovery for EJB based transactions:
- 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. This is because AppDynamics supports distributed transaction correlation.
- 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.
To Enable the Auto-discovery for EJB Transactions
1. Access the transaction detection configurations screen and select the tier to configure. See To Access Business Transaction Detection Configuration.
2. In the EJB entry in the Entry Points section check the Automatic Transaction Detection check box.
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 a EJB based transaction. See Custom Match Rules.
The following example creates a custom match rule for the receiveOrder method in the TrackOrder bean. The transactions are named " ACME_EJB.TrackOrder.receiveOrder".
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 an exclude rule. See Exclude Rules. The criteria for EJB exclude rules are the same as those for custom match rules.