Я искал именно то, как добавить или изменить привязку JNDI во время выполнения, но мне нужно было сделать это в конфигурации домена (кластера) Wildfly 9 (не автономной), которая почти такая же конфигурация, как JBoss 7. Однако, Я не мог найти способ эффективно применить изменения без перезапуска всех серверов.
Для начала войдите в интерфейс командной строки JBoss и подключитесь к контроллеру домена вашего сервера:
./jboss-cli.sh
connect
Во-первых, вам нужно найти, какой профиль активен в группе серверов, поэтому в корневом каталоге сервера / введите следующие команды:
cd server-group=
ls
После этого вы должны ввести единственную группу серверов, показанную в команде списка (ls), введя cd {{your_server_group_name}}
, затем снова введите ls
и найдите запись с именем profile, чтобы проверить, какой из них активен. Давайте рассмотрим full-ha в качестве активного профиля для нашего примера.
Затем вернитесь в корневую папку конфигурации /, набрав cd ..
, и введите следующие команды для навигации и просмотра всех доступных привязок JNDI с их текущими значениями:
cd profile=full-ha/subsystem=naming/binding=
:read-resource(recursive=true)
Сделав это, вы сможете увидеть все доступные привязки JNDI и их атрибуты. Если вы хотите перечислить только имена привязок, введите ls
вместо последней команды.
Чтобы изменить привязку, введите cd
и имя привязки, указанное в предыдущей команде. Предположим, вы хотите изменить значение привязки с именем java:/webservice.url, тогда вы должны ввести
cd java\:\/webservice.url
Обратите внимание, что некоторые символы в имени привязки необходимо заключать в кавычки, такие как : (двоеточие) и / (косая черта) с обратной косой чертой (\) .
Чтобы изменить атрибут в этой привязке, вы должны использовать команду :write-attribute. В этом примере предположим, что вы хотите изменить (или добавить) атрибут с именем "значение" с его содержимым как "это значение":
:write-attribute(name=value,value="this is a value")
Чтобы применить это изменение, вам необходимо перезапустить все серверы в кластере, введя следующую команду:
/server-group={{server-group-name}}:restart-servers
Если вы хотите узнать больше о командах для добавления или удаления привязок JNDI, проверьте это страница фрагментов jboss-cli
Эта конфигурация была успешно протестирована в Wildfly 9.0.1.
person
s_bighead
schedule
27.06.2018