Download PDF
Download page Custom Exit Points for Java.
Custom Exit Points for Java
This page describes settings you can use to create custom exit point configurations for specific backends in Java environments.
In general, custom exit rules match calls to custom backends by class and method name. In some cases, you need to configure splitting as well. The following tables give you the class and method names to use for the various types.
Enter the configuration settings in the corresponding fields in the custom exit point UI. The following screenshot illustrates a sample configuration for an EhCache custom match rule:
For more about creating custom exit points, see create a custom exit point.
Oracle Coherence, EhCache, and Memcached backends are detected automatically as high volume exit points. You can create custom exit points for the backends as described here for particular backend splitting and naming results.
Coherence Exit Points
Name of the Exit Point | Type | Method Name | Class Match Criteria | Class/Interface/Superclass/Annotation Name | Method Name | Splitting Configuration |
---|---|---|---|---|---|---|
Coherence.Put | Cache | that implements an interface which | com.tangosol.net.NamedCache | put | getCacheName() | |
Coherence.PutAll | Cache | that implements an interface which | com.tangosol.net.NamedCache | putAll | getCacheName() | |
Coherence.EntrySet | Cache | that implements an interface which | com.tangosol.net.NamedCache | entrySet | getCacheName() | |
Coherence.KeySet | Cache | that implements an interface which | com.tangosol.net.NamedCache | keySet | getCacheName() | |
Coherence.Get | Cache | that implements an interface which | com.tangosol.net.NamedCache | get | getCacheName() | |
Coherence.Remove | Cache | that implements an interface which | com.tangosol.net.NamedCache | remove | getCacheName() |
EhCache Exit Points
Name of the Exit Point | Type | Class Match Criteria | Class/Interface/Superclass/Annotation Name | Method Name | Splitting Configuration |
---|---|---|---|---|---|
EhCache.Get | Cache | With a class name that | net.sf.ehcache.Cache | get | getName() |
EhCache.Put | Cache | With a class name that | net.sf.ehcache.Cache | put | getName() |
EhCache.PutIfAbsent | Cache | With a class name that | net.sf.ehcache.Cache | putIfAbsent | getName() |
EhCache.PutQuiet | Cache | With a class name that | net.sf.ehcache.Cache | putQuiet | getName() |
EhCache.Remove | Cache | With a class name that | net.sf.ehcache.Cache | remove | getName() |
EhCache.RemoveAll | Cache | With a class name that | net.sf.ehcache.Cache | removeAll | getName() |
EhCache.RemoveQuiet | Cache | With a class name that | net.sf.ehcache.Cache | removeQuiet | getName() |
EhCache.Replace | Cache | With a class name that | net.sf.ehcache.Cache | replace | getName() |
LDAP Exit Points
Name of the Exit Point | Type | Class Match Criteria | Class/Interface/Superclass/Annotation Name | Method Name |
---|---|---|---|---|
LDAPExitPoint.Bind | LDAP | With a class name that | javax.naming.directory.InitialDirContext | bind |
LDAPExitPoint.Rebind | LDAP | With a class name that | javax.naming.directory.InitialDirContext | rebind |
LDAPExitPoint.Search | LDAP | With a class name that | javax.naming.directory.InitialDirContext | search |
LDAPExitPoint.ModifyAttributes | LDAP | With a class name that | javax.naming.directory.InitialDirContext | modifyAttributes |
LDAPExitPoint.GetNextBatch | LDAP | With a class name that | com.sun.jndi.ldap.LdapNamingEnumeration | getNextBatch |
LDAPExitPoint.NextAux | LDAP | With a class name that | com.sun.jndi.ldap.LdapNamingEnumeration | nextAux |
LDAPExitPoint.CreatePooledConnection | LDAP | With a class name that | com.sun.jndi.ldap.LdapClientFactory | createPooledConnection |
LDAPExitPoint.Search | LDAP | With a class name that | com.sun.jndi.ldap.LdapClientFactory | search |
LDAPExitPoint.Modify | LDAP | With a class name that | com.sun.jndi.ldap.LdapClientFactory | modify |
Mail Exit Points
Name of the Exit Point | Type | Class Match Criteria | Class/Interface/Superclass/Annotation Name | Method Name |
---|---|---|---|---|
MailExitPoint.Send | Mail Server | With a class name that | javax.mail.Transport | send |
MailExitPoint.SendMessage | Mail Server | With a class name that | javax.mail.Transport | sendMessage |
Memcached Exit Points
Name of the Exit Point | Type | Class Match Criteria | Class/Interface/Superclass/Annotation Name | Method Name |
---|---|---|---|---|
Memcached.Add | Cache | With a class name that | net.spy.memcached.MemcachedClient | add |
Memcached.Set | Cache | With a class name that | net.spy.memcached.MemcachedClient | set |
Memcached.Replace | Cache | With a class name that | net.spy.memcached.MemcachedClient | replace |
Memcached.CompareAndSwap | Cache | With a class name that | net.spy.memcached.MemcachedClient | cas |
Memcached.Get | Cache | With a class name that | net.spy.memcached.MemcachedClient | get |
Memcached.Remove | Cache | With a class name that | net.spy.memcached.MemcachedClient | remove |
MongoDB Exit Points
Name of Exit Point | Type | Class Match Criteria | Class/Interface/Superclass/ Annotation Name | Method Name | Splitting Config/Custom Exit Point Identifier | Snapshot Data Operation on Invoked Object | |
---|---|---|---|---|---|---|---|
Collect Data From | Getter Chain Operation on Invoked Object | ||||||
MongoDB.Insert | JDBC | With a class name that | com.mongodb.DBCollection | insert | Invoked Object | getDB().getName() | Parameter_0.toString() |
MongoDB.Find | JDBC | With a class name that | com.mongodb.DBCollection | find | Invoked Object | getDB().getName() | Parameter_0.toString() |
MongoDB.Update | JDBC | With a class name that | com.mongodb.DBCollection | update | Invoked Object | getDB().getName() | Parameter_0.toString() |
MongoDB.Remove | JDBC | With a class name that | com.mongodb.DBCollection | remove | Invoked Object | getDB().getName() | Parameter_0.toString() |
MongoDB.Apply | JDBC | With a class name that | com.mongodb.DBCollection | apply | Invoked Object | getDB().getName() | Parameter_0.toString() |
Avoiding high overhead
AppDynamics recommends that you avoid instrumenting highly-used methods, such as the find() method, because the activity around these methods can cause an undesired amount of overhead on the system.
Sample MongoDB Exit Point Configuration
SAP Exit Points
Name of the Exit Point | Type | Class Match Criteria | Class/Interface/Superclass/Annotation Name | Method Name |
---|---|---|---|---|
SAP.Execute | SAP | With a class name that | com.sap.mw.jco.rfc.MiddlewareRFC$Client | execute |
SAP.Connect | SAP | With a class name that | com.sap.mw.jco.rfc.MiddlewareRFC$Client | connect |
SAP.Disconnect | SAP | With a class name that | com.sap.mw.jco.rfc.MiddlewareRFC$Client | disconnect |
SAP.Reset | SAP | With a class name that | com.sap.mw.jco.rfc.MiddlewareRFC$Client | reset |
SAP.CreateTID | SAP | With a class name that | com.sap.mw.jco.rfc.MiddlewareRFC$Client | createTID |
SAP.ConfirmTID | SAP | With a class name that | com.sap.mw.jco.rfc.MiddlewareRFC$Client | confirmTID |