Websphere 7,使用jython进行会话超时

时间:2012-05-03 08:44:30

标签: websphere jython

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

http://prntscr.com/8t1n8

2 个答案:

答案 0 :(得分: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()

答案 1 :(得分:0)

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

  1. 找到您模块的WebModuleDeployment
  2. WebModuleConfig下找到或创建WebModuleDeployment子对象。
  3. SessionManager
  4. 下查找或创建WebModuleConfig子对象
  5. TuningParams
  6. 下查找或创建SessionManager子对象
  7. 设置maxInMemorySessionCount对象的TuningParams属性。
  8. 我不熟悉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