2012-05-30 3 views
4

В JBoss 7.1.1 в автономном режиме все привязки JNDI настраиваются в файле standalone.xml в jboss: domain: naming: 1.1 подсистема. Согласно документации standalone.xml не может быть изменен при запуске сервера. Я пытался использовать JBoss CLI, но я не знаю, как писать/изменять ресурс.JBoss 7.1.1 изменение привязки JNDI во время выполнения

Как изменить значение в JNDI без перезапуска jboss?

ответ

4

Должно помочь вам: https://docs.jboss.org/author/display/AS71/JNDI+Reference

Тема - Связывание записей в JNDI:

Пример standalone.xml может выглядеть следующим образом:

<subsystem xmlns="urn:jboss:domain:naming:1.1" > 
    <bindings> 
    <simple name="java:global/a" value="100" type="int" /> 
    <object-factory name="java:global/b" module="com.acme" class="org.acme.MyObjectFactory" /> 
    <lookup name="java:global/c" lookup="java:global/b" /> 
</bindings> 
</subsystem> 


Чтобы добавить эти записи через CLI:

/subsystem=naming/binding=java\:global\/mybinding:add(binding-type=simple, type=long, value=1000) 


Чтобы увидеть все варианты, которые принимаются с помощью команды добавления (это может фактически использоваться, чтобы получить описание любой команды CLI):

/subsystem=naming/binding=*:read-operation-description(name=add) 


Не пробовал, но я надеюсь, что это поможет!

3

У этого вопроса много просмотров, поэтому я отвечу на него. Вдохновленный ответом @mik, я понял, что для изменения значения некоторого ключа JNDI, например, java:jboss/api/key в newApiKey запустить JBoss CLI и выполнить:

connect 
/subsystem=naming/binding=java\:jboss\/api\/key/:write-attribute(name=value,value=newApiKey) 

Изменение будет сразу виден на сервере, а также хранится (обновлена) в standalone.xml поэтому он не будет теряться после перезагрузки сервера.

Смежные вопросы