-1

以来:

  • @EJBコンテナーがないため、デスクトップ アプリでは機能しません 。
  • Weblogic は、JNDI を介して EJB (3.0) の名前を公開しません。
  • ここ数日間、公式ドキュメントでそれについて何も見つかりませんでした。

デスクトップ アプリから EJB を使用する方法を知っている人はいますか?

変更が必要なヒントがありましたweb.xml...しかし、web.xmlさらに多くのヒントがあり、少なくともいくつかはアプリを壊します。

明確化: 私は WebLogic サーバーを実行していますが、そのサーバーでホストされている EAR 内のいくつかの EJB を公開していません。具体的には、サーバーは EJB3.0 セッション Bean の名前を公開していませんが、他の EJB2.1 名の名前は公開しています。 サーバーでホストされている EJB3.0 オブジェクトへの参照をデスクトップ アプリから取得するにはどうすればよいですか?

さらに明確化: EJB3.0 の仕様では必要ないため、Weblogic は具体的には JNDI 内で EJB3.0 の名前を公開しません。

4

1 に答える 1

0

Weblogic 11g サーバーでリモート インターフェースを介して EJB3.0 オブジェクトを公開するには、私自身の質問に答えて (少し努力して得たものです)、次の手順を実行する必要があります。

これは、私の ejb-jar.xml が Bean RolyBean について述べていることです。

<enterprise-beans>       
    <session id="Session_Roly">
      <display-name>Roly</display-name>
      <ejb-name>Roly</ejb-name>
      <remote>com.medicon.server.RolyRemote</remote>
      <ejb-class>com.medicon.server.RolyBean</ejb-class>
      <session-type>Stateless</session-type>
    </session>
  </enterprise-beans>

これは、weblogic-ejb-jar.xml (同じディレクトリ内) の内容です。

<wls:weblogic-enterprise-bean>
    <wls:ejb-name>Roly</wls:ejb-name>
<wls:jndi-name>Roly</wls:jndi-name>
</wls:weblogic-enterprise-bean>

これら 2 つのデプロイメント記述子は、JNDI を介して EJB の公開を指定する必要がある唯一の 2 つの場所のようです。

于 2012-01-26T17:42:53.973 に答える