如何在 spring 集成项目中实施分析?

how to implement analytics in spring integration project?

我正在从事 Spring 集成项目,我想实施分析。基本思路是抓取所有网关中的方法名、时间戳和调用次数。

是否有任何默认包/class 可用于记录这些详细信息?

这是我想做的事情,在我继续之前需要建议

Step 1 : Add method name is gateway method header

<int:gateway id="gateway" service-interface="org.pro.gateway.SampleGateway">
    <int:method name="method1" request-channel="request.input.channel" reply-channel="reply.output.channel">
        <int:header name="methodName" value="placeOrder"/>
    </int:method>
</int:gateway>

Step 2 : Add Spring Wire tap interceptor, apply pattern which matches only input channel. Get message header by name in the wiretap channel and log it.

<int:wire-tap channel="wiretapChannel" pattern="input*" />

<int:service-activator ref="analyticsBean" method="footprint" input-channel="wiretapChannel" output-channel="outputChannel"/>

<bean id="analyticsBean" class="org.pro.stat.AnalyticService"/>

Step 3 : Implementation Code

public class AnalyticsService {
   public void footprint(Message<String> msg){
    String methodName = msg.getHeaders().get("methodName");  
    long timestamp = msg.getHeaders().getTimestamp();
    /* Send to some service / store it in file with incremented value */
    storeIt(methodName, timestamp);
}}

你的脚步看起来不错。 但是,为什么不让分析服务使用@Async(在 spring 中使用任务执行器服务)从而不消耗父线程上的负载。