使用 wsadmin 来配置 EJB 容器
可以使用 AdminConfig 对象或 wsadmin 脚本库对配置中的 Enterprise JavaBeans (EJB) 容器进行配置。
关于此任务
有两种方式可用来执行本任务。完成本主题中的步骤来使用 AdminConfig 对象修改 EJB 容器配置。或者,可以使用 AdminServerManagement 脚本库中的 configureEJBContainer Jython 脚本来配置 EJB 容器。wsadmin 工具启动时将自动装入该脚本。通过以下语法使用 configureEJBContainer 脚本来配置 EJB 容器:
AdminServerManagement.configureEJBContainer(nodeName, serverName, ejbName, passivationDir,
defaultDatasourceJNDIName)
有关其他信息和参数定义,请参阅 AdminServerManagement 脚本库的文档。
过程
- 启动 wsadmin 脚本编制工具。
- 标识相关的应用程序服务器。 以下示例将标识应用程序服务器并将其指定给 serv1 变量:
使用 Jacl:
set serv1 [$AdminConfig getid /Cell:mycell/Node:mynode/Server:server1/]
使用 Jython:
serv1 = AdminConfig.getid('/Cell:mycell/Node:mynode/Server:server1/') print serv1
表 1. 命令元素. 下表说明 Jacl 和 Jython 示例中的元素: 元素 描述 set Jacl 命令 serv1 变量名称 $ 使用其值替换变量名的 Jacl 运算符 AdminConfig 表示应用程序服务器配置的对象 getid AdminConfig 命令 /Cell:mycell/Node:mynode/Server:server1/ 配置对象的分层包含路径 Cell 对象类型 mycell 对象的可选名称 Node 对象类型 mynode 对象的可选名称 Server 对象类型 server1 对象的可选名称 示例输出:server1(cells/mycell/nodes/mynode/servers/server1|server.xml#Server_1)
- 标识属于服务器的 EJB 容器。
以下示例将标识相关服务器的 EJB 容器并将其指定给 ejbc1 变量:
使用 Jacl:
set ejbc1 [$AdminConfig list EJBContainer $serv1]
使用 Jython:
ejbc1 = AdminConfig.list('EJBContainer', serv1) print ejbc1
以上命令由下列元素组成:
表 2. 命令元素. 下表说明 Jacl 和 Jython 示例中的元素: 元素 描述 set Jacl 命令 ejbc1 变量名称 $ 使用其值替换变量名的 Jacl 运算符 AdminConfig 表示应用程序服务器配置的对象 list AdminConfig 命令 EJBContainer 对象类型 所指定的对象类型的名称是一个基于 XML 配置文件的名称,且不必与管理控制台显示的名称相同。
serv1 对相关服务器的标识所求的值 示例输出:(cells/mycell/nodes/mynode/servers/server1|server.xml#EJBContainer_1)
- 查看 EJB 容器的每个属性。 以下示例显示了 EJB 容器属性,但不显示嵌套属性:
使用 Jacl:
$AdminConfig show $ejbc1
示例输出:{cacheSettings (cells/mycell/nodes/mynode/servers/ server1|server.xml#EJBCache_1)} {components {}} {inactivePoolCleanupInterval 30000} {parentComponent (cells/mycell/nodes/mynode/servers/ server1|server.xml#ApplicationServer_1) {passivationDirectory ${USER_INSTALL_ROOT}/temp} {properties {}} {services {(cells/mycell/nodes/mynode/servers/ server1|server.xml#MessageListenerService_1)} {stateManagement (cells/mycell/nodes/mynode/servers/ server1|server.xml#StateManageable_10)}
使用 Jython:
print AdminConfig.show(ejbc1)
示例输出:以上命令由下列元素组成:[cacheSettings (cells/mycell/nodes/myode/servers/ server1|server.xml#EJBCache_1)] [components []] [inactivePoolCleanupInterval 30000] [parentComponent (cells/mycell/nodes/myode/servers/ server1|server.xml#ApplicationServer_1) [passivationDirectory ${USER_INSTALL_ROOT}/temp] [properties []] [services [(cells/mycell/nodes/myode/servers/ server1|server.xml#MessageListenerService_1)] [stateManagement (cells/mycell/nodes/mynode/servers/ server1|server.xml#StateManageable_10)]
表 3. 命令元素. 下表说明 Jacl 和 Jython 示例中的元素: 元素 描述 $ 使用其值替换变量名的 Jacl 运算符 print Jython 命令 AdminConfig 表示应用程序服务器配置的对象 showall AdminConfig 命令 ejbc1 对企业 Bean 容器标识所求的值
以下示例显示了 EJB 容器属性(包括嵌套属性):使用 Jacl:
$AdminConfig showall $ejbc1
示例输出:{cacheSettings {{cacheSize 2053} {cleanupInterval 3000}}} {components {}} {inactivePoolCleanupInterval 30000} {parentComponent (cells/mycell/nodes/mynode/servers/ server1|server.xml#ApplicationServer_1)} {passivationDirectory ${USER_INSTALL_ROOT}/temp} {properties {}} {services {{{context (cells/mycell/nodes/mynode/servers/ server1|server.xml#EJBContainer_1)} {listenerPorts {}} {properties {}} {threadPool {{inactivityTimeout 3500} {isGrowable false} {maximumSize 50} {minimumSize 10}}}}}} {stateManagement {{initialState START} {managedObject (cells/mycell/nodes/mynode/servers/ server1|server.xml#EJBContainer_1)}}}
使用 Jython:
print AdminConfig.showall(ejbc1)
示例输出:以上命令由下列元素组成:[cacheSettings [[cacheSize 2053] [cleanupInterval 3000]]] [components []] [inactivePoolCleanupInterval 30000] [parentComponent (cells/mycell/nodes/mynode/servers/ server1|server.xml#ApplicationServer_1)] [passivationDirectory ${USER_INSTALL_ROOT}/temp] [properties []] [services [[[context (cells/mycell/nodes/mynode/servers/ server1|server.xml#EJBContainer_1)] [listenerPorts []] [properties []] [threadPool [[inactivityTimeout 3500] [isGrowable false] [maximumSize 50] [minimumSize 10]]]]]] [stateManagement {{initialState START] [managedObject (cells/mycell/nodes/mynode/servers/ server1|server.xml#EJBContainer_1)]]]
表 4. 命令元素. 下表说明 Jacl 和 Jython 示例中的元素: 元素 描述 $ 使用其值替换变量名的 Jacl 运算符 print Jython 命令 AdminConfig 表示应用程序服务器配置的对象 showall AdminConfig 命令 ejbc1 对企业 Bean 容器标识所求的值
- 修改属性。
以下示例修改企业 Bean 高速缓存设置,并且该示例包括嵌套的属性:
使用 Jacl:
$AdminConfig modify $ejbc1 {{cacheSettings {{cacheSize 2500} {cleanupInterval 3500}}}}
使用 Jython:
AdminConfig.modify(ejbc1, [['cacheSettings', [['cacheSize', 2500], ['cleanupInterval', 3500]]]])
以上命令由下列元素组成:
表 5. 命令元素. 下表说明 Jacl 和 Jython 示例中的元素: 元素 描述 $ 使用其值替换变量名的 Jacl 运算符 AdminConfig 表示应用程序服务器配置的对象 modify AdminConfig 命令 ejbc1 对企业 Bean 容器标识所求的值 cacheSettings 修改对象的属性 cacheSize 修改对象的属性 2500 cacheSize 属性的值 cleanupInterval 修改对象的属性 3500 cleanupInterval 属性的值
以下示例修改清除时间间隔属性:
使用 Jacl:
$AdminConfig modify $ejbc1 {{inactivePoolCleanupInterval 15000}}
使用 Jython:
AdminConfig.modify(ejbc1, [['inactivePoolCleanupInterval', 15000]])
以上命令由下列元素组成:
表 6. 命令元素. 下表说明 Jacl 和 Jython 示例中的元素: 元素 描述 $ 使用其值替换变量名的 Jacl 运算符 AdminConfig 表示应用程序服务器配置的对象 modify AdminConfig 命令 ejbc1 对企业 Bean 容器标识所求的值 inactivePoolCleanupInterval 修改对象的属性 15000 inactivePoolCleanupInterval 属性的值
- 保存更改。 请使用以下命令示例来保存配置更改:
AdminConfig.save()
相关概念:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_configejb
文件名:txml_configejb.html