別の ejb-jar から ejb-jar で注釈ベースのインターセプターを使用できますか? @Logged の例で試してみましたが、それに固執しました。誰か助けてくれませんか?
core.jar 内:
@Inherited
@InterceptorBinding
@Retention(RUNTIME)
@Target({METHOD, TYPE})
public @interface Logged {}
と
@Logged
@Interceptor
public class LoggedInterceptor implements Serializable {
private static final long serialVersionUID = 1L;
public LoggedInterceptor() {
}
@AroundInvoke
public Object logMethodEntry(InvocationContext invocationContext)
throws Exception {
System.out.println("Entering method: "
+ invocationContext.getMethod().getName() + " in class "
+ invocationContext.getMethod().getDeclaringClass().getName());
return invocationContext.proceed();
}
}
問題は、別の ejb-jar (エンタープライズ アプリケーション内) からこのインターセプターを使用する方法です。例: ビジネス メソッドの呼び出しをログに記録します。メソッドはさまざまなモジュールで見つけることができます。
module1.jar:
public class ModuleClass{
@Logged public void doSomething(){...}
}
<interceptor><class..... をbeans.xmlにも入れようとしましたが、うまくいきません。
アドバイスをありがとう!