Come specificare un nome jndi diverso da quello predefinito per un bean in JBoss 4.2.2.GA?

StackOverflow https://stackoverflow.com/questions/1008198

  •  06-07-2019
  •  | 
  •  

Domanda

Per impostazione predefinita sembra che il nome jndi di un bean sia basato sull'orecchio in cui è contenuto. Un bean chiamato MyBean my-app.ear avrà il nome " my-app / MyBean / local " ;.

Come posso cambiare quel comportamento in modo dichiarativo? Voglio che il nome jndi sia " qualcos'altro / MyBean / local " ;. Deve essere dichiarativo piuttosto che con un'annotazione b / c Non riesco a modificare l'origine di MyBean.java; Ho solo il barattolo, che sto confezionando in un orecchio per la distribuzione.

È stato utile?

Soluzione

Puoi fornirlo in jboss.xml

http: // docs .jboss.org / EJB3 / app-Server / riferimento / costruire / riferimento / it / html / jboss_deployment_descriptor.html

l'elemento jndi-name è quello che vuoi.

Esempio:

<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>

Altri suggerimenti

Non sono all'altezza di EJB3 (è troppo tardi per quanto mi riguarda), ma con EJB2 puoi farlo modificando il descrittore jboss.xml che si trova all'interno del META-INF del JAR EJB. In particolare, si modifica l'elemento della definizione EJB.

Se questo non si applica a EJB3 (e mi rendo conto che EJB3 è descrittivo-lite), le mie scuse, per favore, non votarmi verso il basso :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top