¿Cómo especificar un nombre jndi diferente al predeterminado para un EJB en JBoss 4.2.2.GA?

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

  •  06-07-2019
  •  | 
  •  

Pregunta

Por defecto parece que el nombre jndi de un bean se basa en la oreja en la que está contenido. Un EJB llamado MyBean my-app.ear tendrá el nombre "my-app / MyBean / local".

¿Cómo puedo cambiar ese comportamiento declarativamente? Quiero que el nombre de jndi sea '' algo más / MyBean / local ''. Tiene que ser declarativo más que con una anotación b / c. No puedo modificar la fuente de MyBean.java; Solo tengo el frasco, que estoy empaquetando en una oreja para su implementación.

¿Fue útil?

Solución

Puede proporcionar esto en jboss.xml

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

elemento jndi-name es lo que quieres.

Ejemplo:

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

Otros consejos

No estoy de acuerdo con EJB3 (es demasiado poco tarde para mí), pero con EJB2 puede hacerlo modificando el descriptor jboss.xml que se encuentra dentro del META-INF de EJB JAR. Específicamente, modifica el elemento de la definición EJB.

Si esto no se aplica a EJB3 (y me doy cuenta de que EJB3 es descriptor-lite), mis disculpas, por favor no me voten :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top