Мы используем WLST (язык сценариев Weblogic) для настройки наших доменов Weblogic и управляемых серверов. Теперь мы хотели бы обеспечить глобальное использование кодировки символов UTF-8.
Я нашел здесь метод ..
setDefaultCharCodeset(String codeset)
..который, кажется, делает именно то, что нам нужно: он устанавливает кодировку по умолчанию на определенное значение. Теперь этот метод определен в MBean Weblogic и доступен в WLST с помощью cmo ( «Текущий объект управления»).
Так, например: если у нас есть Сервер с именем Foo
мы можем сделать
cd('/Servers/Foo')
cmo.setDefaultCharCodeset('UTF-8')
Мой вопрос: распространяются ли каким-либо образом свойства MBeans / объектов управления по иерархии?
Что произойдет, если я установлю кодировку на корневом уровне?
cd('/')
cmo.setDefaultCharCodeset('UTF-8')
Будет ли это обеспечивать глобальное использование UTF-8? Или нам нужно установить его специально для каждого управляемого сервера?
P.S. Мы используем WLS 12c на Solaris 11 для запуска различных приложений J2EE с серверной частью Oracle.
Оказывается, приведенный выше код неверен:
В defaultCharCodeset
является полем MBean IIOP, а не MBean сервера (и также не MBean домена). С другой стороны, MBean IIOP является потомком Server MBean.
Я нашел это так: find('defaultCharCodeset')
, что дало мне хороший вывод о том, где это поле отображается в дереве конфигурации WLST:
/Servers/AdminServer/IIOP/AdminServer DefaultCharCodeset US-ASCII
/Servers/app_1/IIOP/app_1 DefaultCharCodeset US-ASCII
...
(app_1 is a managed server we defined)
Итак, правильный способ сделать это:
cd('/Servers/app_1/IIOP/app_1)
cmo.setDefaultCharCodeset('UTF-8')
...