0
ログをとる方法があるか、インターセプタを投げたか、呼び出されたメソッドの入力値がわかっていますか?ejbへの入力値を取得する3.1インターセプタをスローする
私の実際のインターセプタはBeanが
@Interceptors({Interceptor.class})
@Stateless パブリッククラスMrBeanがMrBeanRemoteを実装している
public class Interceptor {
@AroundInvoke
public Object interceptor(InvocationContext invocationcontext) throws Exception{
//Stampa prima del metodo
long startTime = System.currentTimeMillis();
log.debug("Invoked method: "+invocationcontext.getMethod().getName());
//here I would like to log also parameters.
try{
return invocationcontext.proceed();
} finally{
log.debug("End of method: " + invocationcontext.getMethod().getName());
log.debug(" duration: " + (System.currentTimeMillis() - startTime));
}
}
}
で、MrBeanLocal {
/**
* Default constructor.
*/
public MrBean() {
}
public void print(String in){
System.out.println("Print: " + in);
}
}
だから私は、printメソッドを呼び出す場合in = "print"とすると、インターセプタは "print t帽子"。出来ますか?事前に おかげであなたはInvocationContextに()メソッドをgetParametersを使用することができますので、あなたのメソッドのパラメータを記録したい
のtoString( )); [Ljava.lang.Object; @ f72802c4 – Gio
申し訳ありませんが、私は上記のコメントを編集することができません...私はそのログを試みたが、[Ljava.lang.Object; @ f72802c4と – Gio
@Gio: 'invocationcontext.getParameters()'はObjectの配列を返します。この配列を反復処理する必要があります。 – shibli049