0

EJBでメソッドを呼び出すと、@Asynchronousメソッドの実行は正常に機能しますが、ログに記録されるエラーが表示されます。何がうまくいかないかについての提案はありますか?WebSphereV8上のEJB3.1

インターフェイスは次のとおりです。

@Local
public interface MyService {
    @Asynchronous
    public void doJob(MyObj o);
}

実装クラス:

@Stateless
@Local(MyService.class)
public class MyBean implements MyService {
    @Asynchronous
    public void doJob(MyObj o) {

        // insert to DB

   }
}

エラーメッセージ

CWWAM1101E:クラス{0}では、メソッド{1}に@Asynchronousの注釈が付けられていますが、Beanクラスのビジネス・メソッドまたはローカル/リモートのビジネス・インターフェースのビジネス・メソッドに適用する必要があります。

4

2 に答える 2

1

インターフェイス ( ) を実装しているため、MyServiceBean は非インターフェイス ビューを公開しません。これは、EJB コンテナーが「何かを行う」必要があるすべてのメソッドを、そのインターフェースで定義する必要があることを意味します。

void doJob(...)定義されていない可能性が非常に高いですMyService。疑問がある場合は、 と の完全な定義を示してdoJobくださいMyService

于 2012-11-10T14:01:46.150 に答える