java - JBoss: valores de enlace en JNDI en JBoss EAP 6 similar a JNDIBindingServiceMgr
jboss7.x jboss-eap-6 (3)
¿Cómo puedo vincular una cadena arbitraria a JNDI en JBoss EAP 6? Solía hacerlo a través de org.jboss.naming.JNDIBindingServiceMgr MBean en la versión EAP anterior.
¿Hay algo similar a org.jboss.naming.JNDIBindingServiceMgr en JBoss EAP 6?
Estamos migrando aplicaciones de jboss-5.1.EAP a jboss-eap-6.1. Necesitamos vincular algunas cosas en JNDI, para que las aplicaciones puedan buscar valores de variables de entorno.
Muchas gracias.
¿Qué pasa si simplemente?
InitialContext ctx = new InitialContext();
ctx.bind("varName", "value");
Si usa ese código dentro de una instancia de JBoss, puede vincular variables en jndi. Recuerde usar el formato correcto para varName para enlazar la variable en el alcance deseado.
En la configuración de su aplicación, puede tener cosas en el descriptor de despliegue ejb-jar.xml, como
<javaee:env-entry>
<javaee:description>JNDI logging context for this app</javaee:description>
<javaee:env-entry-name>logback/context-name</javaee:env-entry-name>
<javaee:env-entry-type>java.lang.String</javaee:env-entry-type>
<javaee:env-entry-value>our-app-context</javaee:env-entry-value>
</javaee:env-entry>
o, si prefiere tenerlo en el servidor standalone.xml, haga
<subsystem xmlns="urn:jboss:domain:naming:1.1">
<bindings>
<simple name="my/jndi/key" value="MyJndiValue"/>
</bindings>
</subsystem>
el último (standalone.xml) es una función de JBoss 7.1, por lo que está disponible en EAP 6.0. En JBoss AS 7.0, se debe usar una aplicación ficticia de acuerdo con este hilo .
Puedes hacer lo siguiente:
standalone.xml:
<subsystem xmlns="urn:jboss:domain:naming:1.2">
<bindings>
<simple name="java:global/user" value="newUser"/>
</bindings>
</subsystem>
y en el contexto de primavera:
<bean class="java.util.Properties">
<constructor-arg>
<map>
<entry key="user">
<jee:jndi-lookup jndi-name="java:global/user" />
</entry>
</map>
</constructor-arg>
</bean>