1

是否可以通过 jython 脚本设置应用程序会话超时(即图像)?

http://prntscr.com/8t1n8

4

2 回答 2

1

在下面的代码片段中,更改节点名称和服务器名称以匹配您自己的名称。使用“invalidationTimeout”属性指定会话超时(在下面的示例中设置为 45 分钟),您也可以指定其他相关属性,如下所示。

server = AdminConfig.getid("/Node:was7host01Node01/Server:server1")
sms=AdminConfig.list("SessionManager",server)
AdminConfig.modify(sms,'[[tuningParams [[allowOverflow "true"] [invalidationTimeout "45"] [maxInMemorySessionCount "1000"]]]]')
AdminConfig.save()
于 2012-05-07T15:51:00.473 回答
0

是的,您需要使用AdminConfig来创建这个对象序列:

  1. 找到WebModuleDeployment适合您的模块。
  2. 在 下查找或创建WebModuleConfig子对象WebModuleDeployment
  3. 在. SessionManager_WebModuleConfig
  4. 在. TuningParams_SessionManager
  5. 设置对象的maxInMemorySessionCount属性TuningParams

我不精通 Jython,但下面的 Jacl 脚本应该可以做到这一点。如果您熟悉 WAS 中的 Jython 脚本,那么它应该很容易翻译。

set appName myApp
set modName myWeb.war
set maxInMemorySessionCount 1000

# Find the WebModuleDeployment.
set appDepl [$AdminConfig getid /Deployment:$appName/]
foreach webModDepl [$AdminConfig list WebModuleDeployment $appDepl] {
  set uri [$AdminConfig showAttribute $webModDepl uri]
  if {$uri == $modName} {
    # Find or create the WebModuleConfig.
    set webModCfg [$AdminConfig list WebModuleConfig $webModDepl]
    if {[string length $webModCfg] == 0} {
      puts "Adding WebModuleConfig to $webModDepl"
      set webModCfg [$AdminConfig create WebModuleConfig $webModDepl {}]
    }

    # Find or create the SessionManager.
    set sessionManager [$AdminConfig list SessionManager $webModCfg]
    if {[string length $sessionManager] == 0} {
      puts "Adding SessionManager to $webModCfg"
      set sessionManager [$AdminConfig create SessionManager $webModCfg {}]
    }

    # Find or create the TuningParams.
    set tuningParams [$AdminConfig list TuningParams $sessionManager]
    if {[string length $tuningParams] == 0} {
      puts "Adding TuningParams to $sessionManager"
      set tuningParams [$AdminConfig create TuningParams $sessionManager {}]
    }

    # Set the maxInMemorySessionCount parameter.
    puts "Setting maxInMemorySessionCount=$maxInMemorySessionCount in $tuningParams"
    $AdminConfig modify $tuningParams [list [list maxInMemorySessionCount $maxInMemorySessionCount]]
  }
}

$AdminConfig save
于 2012-05-03T14:38:02.487 回答