如何在 JBoss EAP 6 中将任意字符串绑定到 JNDI?我曾经在以前的 EAP 版本中通过 org.jboss.naming.JNDIBindingServiceMgr MBean 来完成。
JBoss EAP 6 中有什么类似于 org.jboss.naming.JNDIBindingServiceMgr 的吗?
我们正在将应用程序从 jboss-5.1.EAP 迁移到 jboss-eap-6.1。我们需要将一些东西绑定到 JNDI 中,以便应用程序可以查找环境变量的值。
非常感谢。
如何在 JBoss EAP 6 中将任意字符串绑定到 JNDI?我曾经在以前的 EAP 版本中通过 org.jboss.naming.JNDIBindingServiceMgr MBean 来完成。
JBoss EAP 6 中有什么类似于 org.jboss.naming.JNDIBindingServiceMgr 的吗?
我们正在将应用程序从 jboss-5.1.EAP 迁移到 jboss-eap-6.1。我们需要将一些东西绑定到 JNDI 中,以便应用程序可以查找环境变量的值。
非常感谢。
您可以执行以下操作:
独立的.xml:
<subsystem xmlns="urn:jboss:domain:naming:1.2">
<bindings>
<simple name="java:global/user" value="newUser"/>
</bindings>
</subsystem>
在春季环境中:
<bean class="java.util.Properties">
<constructor-arg>
<map>
<entry key="user">
<jee:jndi-lookup jndi-name="java:global/user" />
</entry>
</map>
</constructor-arg>
</bean>
在您的应用程序配置中,您可以在 ejb-jar.xml 部署描述符中包含一些内容,例如
<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>
或者,如果您希望将它放在服务器 Standalone.xml 中,请执行
<subsystem xmlns="urn:jboss:domain:naming:1.1">
<bindings>
<simple name="my/jndi/key" value="MyJndiValue"/>
</bindings>
</subsystem>
后者(standalone.xml)是 JBoss 7.1 的一个特性,所以在 EAP 6.0 中可用。在 JBoss AS 7.0 中,需要根据这个线程使用一个虚拟应用程序。
如果只是:
InitialContext ctx = new InitialContext();
ctx.bind("varName", "value");
如果您在 JBoss 实例中使用该代码,您可以将变量绑定到 jndi。请记住使用正确的 varName 格式将变量绑定到所需范围内。