Comment spécifier un nom jndi différent de celui par défaut pour un EJB dans JBoss 4.2.2.GA?

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

  •  06-07-2019
  •  | 
  •  

Question

Par défaut, il semble que le nom jndi d’un haricot soit basé sur l’oreille dans laquelle il est contenu. Un EJB nommé MyBean my-app.ear aura le nom "my-app / MyBean / local".

Comment puis-je changer ce comportement de manière déclarative? Je veux que le nom jndi soit "quelque chose d'autre / MyBean / local". Il doit être déclaratif plutôt qu'avec une annotation b / c Je ne peux pas modifier la source de MyBean.java; Je n'ai que le pot que je suis en train d'emballer dans une oreille pour le déploiement.

Était-ce utile?

La solution

Vous pouvez le fournir dans jboss.xml

http: // docs .jboss.org / ejb3 / serveur-app / reference / build / reference / fr / html / jboss_deployment_descriptor.html

L'élément jndi-name est ce que vous voulez.

Exemple:

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

Autres conseils

Je ne suis pas au fait avec EJB3 (c'est trop peu, trop tard, en ce qui me concerne), mais avec EJB2, vous pouvez le faire en modifiant le descripteur jboss.xml qui se trouve dans le fichier META-INF du fichier JAR d'EJB. Plus précisément, vous modifiez l'élément de la définition d'EJB.

Si cela ne s'applique pas à EJB3 (et je réalise que EJB3 est descripteur-lite), veuillez m'excuser, ne me refusez pas le vote:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top