Configure applications for session management using scripting

 

Overview

Use the AdminApp object to set configurations in an application. Some configuration settings are not available through the AdminApp object. The following task provides an example that uses the AdminConfig object to configure a session manager for the application.

 

Procedure

  1. Start wsadmin

  2. Identify the deployment configuration object for the application and assign it to the deployment variable. For example:

    • Jacl

      set deployments [$AdminConfig getid /Deployment:myApp/]
      

    • Jython

      deployments = AdminConfig.getid('/Deployment:myApp/')
      print deployments
      

    where:

    set is a Jacl command
    deployments is a variable name
    $ is a Jacl operator for substituting a variable name with its value
    AdminConfig is an object representing the WebSphere Application Server configuration
    getid is an AdminConfig command
    Deployment is an attribute
    myApp is the value of the attribute

    Example output:

    myApp(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#Deployment_1)
    

  3. Retrieve the application deployment object and assign it to the appDeploy variable. For example:

    • Jacl

      set appDeploy [$AdminConfig showAttribute $deployments deployedObject]
      

    • Jython

      appDeploy = AdminConfig.showAttribute(deployments, 'deployedObject')
      print appDeploy
      

    where:

    set is a Jacl command
    appDeploy is a variable name
    $ is a Jacl operator for substituting a variable name with its value
    AdminConfig is an object that represents the WebSphere Application Server configuration
    showAttribute is an AdminConfig command
    deployments evaluates the ID of the deployment object that is specified in step number 1
    deployedObject is an attribute

    Example output:

    (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#ApplicationDeployment_1)
    

  4. To obtain a list of attributes that one can set for a session manager, use the attributes command. For example:

    • Jacl

      $AdminConfig attributes SessionManager
      

    • Jython

      print AdminConfig.attributes('SessionManager')
      

    where:

    $ is a Jacl operator for substituting a variable name with its value
    AdminConfig is an object that represents the WebSphere Application Server configuration
    attributes is an AdminConfig command
    SessionManager is an attribute

    Example output:

    "accessSessionOnTimeout Boolean"
    "allowSerializedSessionAccess Boolean"
    "context ServiceContext@"
    "defaultCookieSettings Cookie"
    "enable Boolean"
    "enableCookies Boolean"
    "enableProtocolSwitchRewriting Boolean"
    "enableSSLTracking Boolean"
    "enableSecurityIntegration Boolean"
    "enableUrlRewriting Boolean"
    "maxWaitTime Integer"
    "properties Property(TypedProperty)*"
    "sessionDRSPersistence DRSSettings"
    "sessionDatabasePersistence SessionDatabasePersistence"
    "sessionPersistenceMode ENUM(DATABASE, DATA_REPLICATION, NONE)"
    "tuningParams TuningParams"
    

  5. Set up the attributes for the session manager. The following example sets three top-level attributes in the session manager. We can modify the example to set other attributes of the session manager, including the nested attributes in Cookie, DRSSettings, SessionDataPersistence, and TuningParms object types. To list the attributes for those object types, use the attributes command of the AdminConfig object.

    • Jacl

      set attr1 [list enableSecurityIntegration true]
      set attr2 [list maxWaitTime 30]
      set attr3 [list sessionPersistenceMode NONE]
      set attrs [list $attr1 $attr2 $attr3]
      set sessionMgr [list sessionManagement $attrs]
      
      

      Example output using Jacl:

      sessionManagement {{enableSecurityIntegration true} {maxWaitTime 30} {sessionPersistenceMode NONE}}
      

    • Jython

      attr1 = ['enableSecurityIntegration', 'true']
      attr2 = ['maxWaitTime', 30]
      attr3 = ['sessionPersistenceMode', 'NONE']
      attrs = [attr1, attr2, attr3]
      sessionMgr = [['sessionManagement', attrs]]
      

      Example output using Jython:

      [[sessionManagement, [[enableSecurityIntegration, true], [maxWaitTime, 30], [sessionPersistenceMode, NONE]]]
      

    where:

    set is a Jacl command
    attr1, attr2, attr3, attrs, sessionMgr are variable names
    $ is a Jacl operator for substituting a variable name with its value
    enableSecurityIntegration is an attribute
    true is a value of the enableSecurityIntegration attribute
    maxWaitTime is an attribute
    30 is a value of the maxWaitTime attribute
    sessionPersistenceMode is an attribute
    NONE is a value of the sessionPersistenceMode attribute

  6. Create the session manager for the application. For example:

    • Jacl

      $AdminConfig create ApplicationConfig $appDeploy [list $sessionMgr]
      $AdminConfig save
      

    • Jython

      print AdminConfig.create('ApplicationConfig', appDeploy, sessionMgr)
      

    where:

    $ is a Jacl operator for substituting a variable name with its value
    AdminConfig is an object that represents the WebSphere Application Server configuration
    create is an AdminConfig command
    ApplicationConfig is an attribute
    appDeploy evaluates the ID of the deployed application that is specified in step number 2
    list is a Jacl command
    sessionMgr evaluates the ID of the session manager that is specified in step number 4

    Example output:

    (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#ApplicationConfig_1)
    

  7. In a network deployment environment only, synchronize the node.