我正在尋找圍繞騾子流的一個方面,IE我想定義一個@Around
,當某些東西進入騾子流時會被觸發,以便我可以執行自己的統計數據收集。我還沒有找到一個簡單的「流」類來環繞,但我已經看到,MessageReceiver
是一個很好的類,或者至少是這個類的實現。AspectJ圍繞Mule MessageReceiver
但是我不是AspectJ的專家,我無法得到它的工作。我有我的@Aspect
類與看起來像這樣的方法。
@Around("execution(public * org.mule.api.transport.MessageReceiver+.*(..))")
public Object addMonitor(ProceedingJoinPoint pjp) throws Throwable {
System.out.println("Before");
Object object = pjp.proceed();
System.out.println("After");
return object;
}
,但我不能讓前/串打印出HttpMessageReceiver
方法被調用時之後。我在流程中設置了一個調試點,可以看到org.mule.transport.AbstractMessageReceiver.routeMessage(MuleMessage message)
正在調用,這是MessageReceiver
的實現,但我從來沒有看到對我的看法的調用。
是否有可能在Mule中執行這種方面?
//編輯:如上所述,我是AspectJ和AOP的新手,所以我會說我在Mule中使用彈簧來處理我的@Aspect
類。我有一些關於Spring處理bean的例子,但不是那些不是由Spring管理的常規POJO。我的Spring配置是這樣的:
<spring:beans>
<context:component-scan base-package="com.example" />
<context:annotation-config />
<aop:aspectj-autoproxy />
</spring:beans>
對於那些試圖實現相同目標的人來說,查看您的aop.xml內容和-javaagent完整行是非常有用的。 – Tristan 2014-08-07 14:40:55
是的,尼古拉斯真的很感激,如果在這裏可以得到完整的細節。我試圖從Studio中獲得類似的工作,並以有限的結果獨立工作。 – yamen 2014-10-05 21:16:54