JBoss: привязка значений к JNDI в JBoss EAP 6 аналогично JNDIBindingServiceMgr

  1. Как связать произвольную строку с JNDI в JBoss EAP 6? Раньше я делал это через org.jboss.naming.JNDIBindingServiceMgr MBean в предыдущей версии EAP.

  2. Есть ли что-нибудь похожее на org.jboss.naming.JNDIBindingServiceMgr в JBoss EAP 6?

  3. Мы переносим приложения с jboss-5.1.EAP на jboss-eap-6.1. Нам нужно привязать некоторые вещи к JNDI, чтобы приложения могли искать значения переменных среды.

Большое спасибо.


person adi    schedule 26.11.2013    source источник
comment
Любая помощь приветствуется..   -  person adi    schedule 27.11.2013


Ответы (3)


Вы можете сделать следующее:

автономный.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>
person JazB    schedule 29.11.2013
comment
@adi pfft, я дал тот же ответ за час до этого, несправедливо :P - person eis; 30.11.2013
comment
Если вы хотите проверить целевое пространство имен urn:jboss:domain:naming:1.2 xsd, вы можете увидеть github.com/wildfly/wildfly/tree/master/naming/src/main/ - person taringamberini; 08.01.2018

В конфигурации вашего приложения вы можете иметь такие вещи в дескрипторе развертывания 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 необходимо использовать фиктивное приложение в соответствии с этой веткой.

person eis    schedule 29.11.2013

А если просто:

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

Если вы используете этот код внутри экземпляра JBoss, вы можете привязать переменные к jndi. Не забудьте использовать правильный формат для varName, чтобы связать переменную в нужной области.

person Israel    schedule 29.11.2013
comment
Я ищу пример конфигурации JBoss... r. добавление свойств java в standalone.xml - person adi; 29.11.2013