Local
以前は、とインターフェイスの両方Remote
が実装されており、 Remote
インターフェイスのみが使用されていたという問題がありましたが、その必要はありません。両方のインターフェースに同じメソッドがありました。これは、私が受け取ったNetBeansの警告メッセージによると避けるべきものです。
セッションBeanにリモートとローカルのビジネスインターフェイスがある場合、両方のインターフェイスに共通のメソッドがあってはなりません。
より詳細に:
リモートビジネスメソッドの呼び出しセマンティクスは、ローカルビジネスメソッドの呼び出しセマンティクスとは大きく異なります。このため、セッションBeanにローカルビジネスメソッドとリモートビジネスメソッドがある場合、両方のインターフェイスに共通のメソッドがあってはなりません。以下の例は、誤った使用例です。
Remote public interface I1 { void foo();}
Local public interface I2 { void foo();}
Stateless public class Foo implements I1, I2 { ... }
したがって、解決策は、インターフェイスを削除し、Remote
インターフェイスを使用するようにアプリケーションロジックを設定することLocal
でした。