3

デフォルトでは、Bean の jndi 名は、Bean が含まれている ear に基づいているようです。MyBean my-app.ear という名前の EJB は、「my-app/MyBean/local」という名前になります。

その動作を宣言的に変更するにはどうすればよいですか? jndi 名を「something-else/MyBean/local」にしたい。注釈 b/c を使用するのではなく、宣言的でなければなりません。MyBean.java のソースを変更できません。私は瓶しか持っていません。これは、展開のために耳にパッケージ化しています。

4

2 に答える 2

3

これはjboss.xmlで提供できます

http://docs.jboss.org/ejb3/app-server/reference/build/reference/en/html/jboss_deployment_descriptor.html

jndi-name要素はあなたが望むものです。

例:

<jboss>
   <enterprise-beans>
      <service>
         <ejb-class>org.jboss.ejb3.test.service.ServiceSix</ejb-class>
         <local>org.jboss.ejb3.test.service.ServiceSixLocal</local>
         <remote>org.jboss.ejb3.test.service.ServiceSixRemote</remote>
         <management>org.jboss.ejb3.test.service.ServiceSixManagement</management>
         <jndi-name>serviceSix/remote</jndi-name>
         <local-jndi-name>serviceSix/local</local-jndi-name>
      </service>
   </enterprise-beans>
</jboss>
于 2009-06-22T12:40:52.777 に答える
0

私は EJB3 については確信が持てませんが (私が知る限り遅すぎます)、EJB2 では、EJB JAR の META-INF 内にある jboss.xml 記述子を変更することでこれを行うことができます。具体的には、EJB 定義の要素を変更します。

これが EJB3 に当てはまらない場合 (EJB3 が記述子ライトであることは認識しています)、申し訳ありませんが、私に反対票を投じないでください :)

于 2009-06-19T14:01:05.113 に答える