Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring集成-将IntegrationManagementConfigurer与服务激活器一起使用_Java_Spring_Spring Integration - Fatal编程技术网

Java Spring集成-将IntegrationManagementConfigurer与服务激活器一起使用

Java Spring集成-将IntegrationManagementConfigurer与服务激活器一起使用,java,spring,spring-integration,Java,Spring,Spring Integration,我试图了解如何使用SpringIntegration4.2()中介绍的度量框架来评测我的SpringIntegration应用程序 我可以看到如何使用该框架来监视通道和消息处理程序(端点)。如何监视用@ServiceActivator注释的bean for (String monitoredChannel : getMonitoredChannels()) { MessageChannelMetrics channelMetrics = integrationManagementConf

我试图了解如何使用SpringIntegration4.2()中介绍的度量框架来评测我的SpringIntegration应用程序

我可以看到如何使用该框架来监视通道和消息处理程序(端点)。如何监视用
@ServiceActivator
注释的bean

for (String monitoredChannel : getMonitoredChannels()) {
    MessageChannelMetrics channelMetrics = integrationManagementConfigurer.getChannelMetrics(monitoredChannel);
    LOGGER.info("Channel {}, Send Count: {}", monitoredChannel, channelMetrics.getSendCount());
}

for (String monitoredHandler : getMonitoredHandlers()) {
    MessageHandlerMetrics handlerMetrics = integrationManagementConfigurer.getHandlerMetrics(monitoredHandler);
    LOGGER.info("Handler {}, Max Duration: {}", monitoredHandler, handlerMetrics.getDuration().getMax());
    LOGGER.info("Handler {}, Min Duration: {}", monitoredHandler, handlerMetrics.getDuration().getMin());
    LOGGER.info("Handler {}, Mean Duration: {}", monitoredHandler, handlerMetrics.getMeanDuration());
}
是否有类似的方法来监视命名服务激活器?这是my integration-context.xml的外观:

<int:chain input-channel="messageReceived" output-channel="messageValidated" id="messageValidationChain">
    <int:service-activator ref="enricher" method="getMessageAttributes" id="attributeEnricher" />
    <int:service-activator ref="stateValidator" method="processMessage" id="stateValidator" />
    <int:service-activator ref="attributeValidator" method="validateMessage" id="attributeValidator"/>  
</int:chain>

我希望能够分析处理链中每个
ServiceActivator
所需的时间,并跟踪最小值、最大值、平均持续时间、消息计数等指标。

它只起作用

链中服务激活器消息处理程序的bean名称如下

<chainId>.<elementId>.handler
.handler

谢谢你,加里。因为我使用的是链而不是显式通道,所以我发现ServiceActivatorbean被定义为父链的子级。也就是说,bean的地址可以是:$child..handler。在上面的示例中,我能够通过引用messageValidationChain$child.attributeEnricher.handler获得MessageHandlerMetrics bean。