Spring Integration Support Customizations

The following sections describe typical scenarios for tuning the default Spring Integration monitoring.

Track Application Flow Before Message Handler is Executed

In cases where a lot of application flow happens before the first MessageHandler gets executed, you should enable tracking the application flow as follows:

Limit Tracking of Looping Pollable Channels

To safeguard against cases where pollableChannel.receive() is not called inside a loop, you can ensure that the Java Agent tracks a pollable channel loop only if it happens inside a class/method combination similar to that defined in the following example.

You can configure the spring-integration-receive-marker-classes node property for each class/method combination that polls messages in a loop, in which case only those class/methods identified in this node property are tracked.

class MessageProcessor {
   void process() {
      while(true) {
          Message message = pollableChannel.receive()
      }
   }
}

For example, for the loop above, set the spring-integration-receive-marker-classes node property as follows and restart the application server:

spring-integration-receive-marker-classes=MessageProcessor/process
Note: The spring-integration-receive-marker-classes node property must be configured before the method process() gets executed for any changes to take effect. Restart the application server after setting this property.