Websphere 7, tiempo de espera de sesión usando jython

¿Es posible configurar el tiempo de espera de la sesión de la aplicación (es decir, la imagen) mediante el script jython?

http://prntscr.com/8t1n8

preguntado el 03 de mayo de 12 a las 09:05

Lo he hecho por una línea, pero gracias a todos AdminConfig.create('TuningParams', AdminConfig.create('SessionManager',AdminConfig.create('ApplicationConfig',AdminConfig.list('ApplicationDeployment',AdminConfig.getid('/ Implementación: espacio de tareas/' )),[]),[]), [['invalidationTimeout', 40]]) -

2 Respuestas

En el fragmento a continuación, cambie el nombre del nodo y el nombre del servidor para que coincidan con los suyos. Use el atributo 'invalidationTimeout' para especificar el tiempo de espera de la sesión (en el ejemplo a continuación, se establece en 45 minutos), también puede especificar otros atributos relacionados como se muestra a continuación.

server = AdminConfig.getid("/Node:was7host01Node01/Server:server1")
sms=AdminConfig.list("SessionManager",server)
AdminConfig.modify(sms,'[[tuningParams [[allowOverflow "true"] [invalidationTimeout "45"] [maxInMemorySessionCount "1000"]]]]')
AdminConfig.save()

contestado el 07 de mayo de 12 a las 16:05

Sí, tendrás que usar AdminConfig para crear esta secuencia de objetos:

  1. Encuentra los WebModuleDeployment para su módulo.
  2. Encuentre o cree el WebModuleConfig objeto secundario debajo WebModuleDeployment.
  3. Encuentre o cree el SessionManager objeto hijo bajo el WebModuleConfig.
  4. Encuentre o cree el TuningParams objeto hijo bajo el SessionManager.
  5. Seleccione las maxInMemorySessionCount atributo de la TuningParams objeto.

No hablo Jython con fluidez, pero el siguiente script de Jacl debería hacer eso. Si está familiarizado con las secuencias de comandos Jython en WAS, debería ser fácil de traducir.

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

contestado el 03 de mayo de 12 a las 15:05

Si la respuesta resolvió su problema, le recomendamos que la acepte haciendo clic en la casilla de verificación junto a la respuesta. - brett kail

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.