2

式のEJBを解決するために、Spring式言語用のカスタムBeanResolverを作成したいと思います(たとえば"@MyBean.property=='example-value'")。JNDI-Lookupを実行せずに、名前でBeanを取得するにはどうすればよいですか?選択したアプリケーションサーバー(Glassfish)のプラグインを作成する必要がありますか?

4

1 に答える 1

2

EEインジェクションとJNDIルックアップは、すべてのEJBへのエントリポイントです。EJBのインスタンスを取得する他の標準的な方法はありません。EJB 3.1を使用している場合、、、およびのバインディングはjava:global明確java:appjava:module定義されており、開発者が変更することはできません。

java:global/MyApp/MyModule/MyBean!com.example.MyIntf
java:app/MyModule/MyBean!com.example.MyIntf
java:module/MyBean!com.example.MyIntf

これにより、EJBを名前で効果的に見つけることができます。(JNDIが必要ですが、バインディングが問題になる理由は理解できますが、JNDI自体が問題になる理由は説明からはわかりません。)EJBがサポートするインターフェイスが1つだけであることがわかっている場合は、を省略できます!com.example.MyIntf

于 2012-11-10T16:09:16.353 に答える