可以使用脚本编制和 wsadmin 工具来配置数据库持久性。
关于此任务
执行以下步骤来配置数据库持久性。在这些步骤中,以下变量适用于 Jython 命令和 Jacl 命令:
- node_name 是配置中受影响的节点。
- server_name 是配置中受影响的服务器。
- cell_name 是配置中受影响的单元。
- db2_administrator 是数据库管理员的标识。
- db2_password 是与数据库管理员相关联的标识的密码。
过程
- 检索服务器的配置标识以启用数据库持久性并将其值存储在服务器变量中。
使用 Jacl:
set server [$AdminConfig getid /Node:node_name/Server:server_name/]
示例输出:
server_name(cells/cell_name/nodes/node_name/servers/server_name
|server.xml#Server_1265038035855)
使用 Jython:
server = AdminConfig.getid('/Node:node_name/Server:server_name/')
示例输出:无
- 检索与上一步中的服务器值相关联的会话管理器的名称,并将该会话管理器指定给 sm 变量。
使用 Jacl:
set sm [$AdminConfig list SessionManager $server]
示例输出:
(cells/cell_name/nodes/node_name/servers/server_name
|server.xml#SessionManager_1256932276179)
使用 Jython:
sm = AdminConfig.list('SessionManager', server)
示例输出:无
- 将数据库会话持久性模式值添加到 sm 变量,该变量已经包含上述步骤中的会话管理器值。
使用 Jacl:
$AdminConfig modify $sm {{sessionPersistenceMode "DATABASE"}}
示例输出:无
使用 Jython:
AdminConfig.modify(sm,'[[sessionPersistenceMode "DATABASE"]]')
示例输出:无
- 检索会话管理器的数据库会话持久性值和已设置给 sm 变量的数据库会话持久性模式。将此值设置给 sesdb 变量。
使用 Jacl:
set sesdb [$AdminConfig list SessionDatabasePersistence $sm]
示例输出:
(cells/cell_name/nodes/node_name/servers/server_name
|server.xml#SessionDatabasePersistence_1256932276179)
使用 Jython:
sesdb = AdminConfig.list('SessionDatabasePersistence',sm)
示例输出:无
- 修改 sesdb 变量以包括用于访问数据库和表空间名称的用户标识和密码以及 Java™ 命名和目录接口 (JNDI) 名称。
使用 Jacl:
$AdminConfig modify $sesdb { {userId "db2_administrator"} {password "db2_password"}
{tableSpaceName ""} {datasourceJNDIName "jdbc/SessionDataSource"} }
示例输出:无
使用 Jython:
AdminConfig.modify(sesdb,'[[userId "db2_administrator"] [password "db2_password"]
[tableSpaceName ""] [datasourceJNDIName "jdbc/SessionDataSource"]]')
示例输出:无
- 保存配置更改。有关更多信息,请参阅使用 wsadmin 工具来保存配置更改的相关文档。