Weblogic:使用 WLST 设置字符编码

Weblogic:使用 WLST 设置字符编码

我们正在使用 WLST(Weblogic 脚本语言)来设置我们的 Weblogic 域和托管服务器。现在我们想在全球范围内强制使用 UTF-8 字符编码。

我在这里找到了方法。

setDefaultCharCodeset(String codeset)

..这似乎正是我们所需要的:它将默认字符集设置为某个指定值。现在,此方法在 Weblogic MBean 上定义 - 并且可以通过使用 cmo(“当前管理对象”)。

例如:如果我们有一个名为的服务器,Foo我们可以执行

cd('/Servers/Foo')
cmo.setDefaultCharCodeset('UTF-8')

我的问题是:MBean/管理对象的属性是否以某种方式通过层次结构传播?

如果我将字符集设置在根级别会发生什么?

cd('/')
cmo.setDefaultCharCodeset('UTF-8')

这会强制全局使用 UTF-8 吗?还是我们需要为每个托管服务器专门设置它?


PS 我们在 Solaris 11 上使用 WLS 12c 运行带有 Oracle 后端的各种 J2EE 应用程序。

答案1

事实证明上面的代码是错误的:

defaultCharCodesetIIOP MBean 的一个字段,而不是 Server MBean(也不是域 MBean)。另一方面,IIOP MBean 是 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')
...

相关内容