JBoss: Binding values into JNDI in JBoss EAP 6 similar to JNDIBindingServiceMgr

前端 未结 3 1941
既然无缘
既然无缘 2020-12-19 21:45
  1. How do I bind an arbitrary string to JNDI in JBoss EAP 6? I used to do it through org.jboss.naming.JNDIBindingServiceMgr MBean in previous EAP version.

相关标签:
3条回答
  • 2020-12-19 22:01

    In your app configuration you can have things in ejb-jar.xml deployment descriptor like

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

    or, if you prefer to have it in the server standalone.xml, do

    <subsystem xmlns="urn:jboss:domain:naming:1.1">
        <bindings>
            <simple name="my/jndi/key" value="MyJndiValue"/>
        </bindings>
    </subsystem>
    

    the latter (standalone.xml) is a JBoss 7.1 feature, so available in EAP 6.0. In JBoss AS 7.0, a dummy application needs to be used according to this thread.

    0 讨论(0)
  • 2020-12-19 22:04

    You can do the following:

    standalone.xml:

    <subsystem xmlns="urn:jboss:domain:naming:1.2">
      <bindings>
        <simple name="java:global/user" value="newUser"/>                
      </bindings>
    </subsystem>
    

    and in spring context:

    <bean class="java.util.Properties">
      <constructor-arg>
        <map>
          <entry key="user">
             <jee:jndi-lookup jndi-name="java:global/user" />
          </entry>
        </map>
      </constructor-arg>
    </bean>
    
    0 讨论(0)
  • 2020-12-19 22:21

    What if simply:

    InitialContext ctx = new InitialContext();
    ctx.bind("varName", "value");
    

    If you use that code inside of a JBoss instance you can bind variables into jndi. Remember to use the correct format for varName to bind the variable in the desired scope.

    0 讨论(0)
提交回复
热议问题