現在、ミュールフローの時間を確認しようとしていますが、私のESB Mule ESBバージョンは3.8.3です。ミュールフローによる処理時間の発見
私は私がすなわちフロー名を取得しようとすると、私はjava.lang.NullPointerException
を取得しています、次のようにコードは、
@Override
public MuleEvent last(MuleEvent event, ProcessingTime time, long startTime, boolean exceptionWasThrown)
throws MuleException
{
long endTime = System.currentTimeMillis();
if(logger.isInfoEnabled())
{
logger.info("+++++++++++++++++++++++++++++++++++++++++++++"
+" Flow : "+event.getFlowConstruct().getName()
+ " Started @ " +startTime+" Ended @ "+endTime
+" Processing Time : "+(endTime - startTime)+" ms "
+ "+++++++++++++++++++++++++++++++++++++++++++++");
}
return event;
}
をこのタスクのため<custom-inteceptor>
を使用して、したがって、AbstractEnvelopeInterceptorクラスを拡張するJavaクラスを作成していますevent.getFlowConstruct().getName()
これは上記と同じです
また、処理するフローの時間をチェックするだけでも、出力として0msが与えられ、バッチ処理が実行されません。コンソル
私ははい、私は呼び出しています、次のように流れがある
<flow name="batch-sample-1Flow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/bs" doc:name="HTTP"/>
<custom-interceptor class="com.utility.CustomTimeInteceptor"/>
<batch:execute name="batch-sample-1Batch" doc:name="batch-sample-1Batch"/>
</flow>
を開始時に<custom-inteceptor>
を置くだけでなく、流れの終了しようとしましたが、まだいくつかの理由で私に0ミリ秒を与える
ていますバッチプロセスの前に<custom-inteceptor>
が置かれたときに実行されないバッチプロセスが呼び出されます。
バッチ処理を監視する他の方法があると分かります。
EDIT:
私はAbstractEnvelopeInterceptor
クラスを拡張しています、それはそれを使用することに関連するものですか?