Topic
  • 2 replies
  • Latest Post - ‏2010-09-29T03:51:10Z by ecpeters
SystemAdmin
SystemAdmin
254 Posts

Pinned topic Managing ICI 8.5 session pooling

‏2010-09-21T12:56:04Z |
Enviromnet description:

  • ICI 8.5 Version: 8.5.1.100.0003
  • vbr_soa web application deployed on a 2-node WAS 7.1 cluster
  • Connector to CM84 repository defined with the following parameters:
Use RMI Proxy Connector = true
RMI Proxy Connectors URLs = rmi://localhost:1251/RMIBridgeServer
  • all necessary data maps defined
  • RMIBridge started on both cluster node with the following syntax:

export VBR_ALLJARS=......
export VBR_HOME=/opt/IBM/ContentIntegrator
export VBR_RMIPORT=1251
java -ms256m -mx1024 -classpath "$VBR_ALLJARS" -Dvbr.home="$VBR_HOME" -Dvbr.services.startregistry=true -Dvbr.log.info=RMI_$VBR_RMIPORT -Dvbr.services.registryport=$VBR_RMIPORT -Dvbr.ejb.bridge.rmibridge.rmiurl=rmi://localhost:$VBR_RMIPORT/RMIBridgeServer com.venetica.vbr.ejb.bridge.rmibridge.RMIBridgeFactoryLauncher

Using this configuration all customer applications accessing CM8 repository using SOA web services work correctly.

Now to improve performances we would define and use ICI session pooling.

Reading documentation I did the following:
Session Pool definition using the administration client program with the following parameters:
Name = rmi://localhost:1251/RMIBridgeServer
Maximum Users = -1
Max Checkout (ms) = 1800000
Relative Cost to Create Users 0 1
Maximum total logins = -1
Maximum logins per user ID = -1
Maximum mantained logins = -1
Inactive login timeout = 1800000
Relative login cost = 1000
Relative logout cost = 10

I started VeniceBridgeServices with the following syntax:
java -classpath "$VBR_CLASSPATH" -Dvbr.home="$VBR_HOME" com.venetica.vbr.service.VeniceBridgeServicesLauncher

vbr_services.properties is attached , I changed port number as the following lines.
vbr.services.registryport=1251
vbr.configuration.server.rmiurl=rmi://localhost:1251/ConfigurationServer
vbr.log.server.rmiurl=rmi://localhost:1251/LoggingServer
vbr.ejb.bridge.rmibridge.rmiurl=rmi://localhost:1251/RMIBridgeServer2
vbr.configuration.server.lookup.urls=rmi://localhost:1251/ConfigurationServer
vbr.sso.server.rmiurl=rmi://localhost:1251/SSOServer

Because I have no ideas if session pooling is working or not
QUESTIONS ARE:
1) How and where have I configure the logging to check how session pool is used ?
2) Are ports setting correct for VeniceBridgeServices, or have I use different port for different services?
3) Have I take care about the order wich I start RMIBridge and VeniceBridgeServices, or can I stop and start each of them regadless the other is running or not?
4) Do applications accessing CM8.4 repository using SOA web services (vbr_soa web application) use the defined session pool?

Thanks in advance, Andrea.
Updated on 2010-09-29T03:51:10Z at 2010-09-29T03:51:10Z by ecpeters
  • ecpeters
    ecpeters
    9 Posts

    Re: Managing ICI 8.5 session pooling

    ‏2010-09-29T03:23:40Z  
    Hi Andrea,

    QUESTIONS ARE:
    1) How and where have I configure the logging to check how session pool is used ?

    To activate logging for session pools in 8.5.1 you need to:
    go into the administrator
    right click on ConfigurationData, select 'properties'
    click on 'custom logging'

    From that window you will need to set the log4j appender for the SessionPool, outlined in the info center
    http://publib.boulder.ibm.com/infocenter/ce/v8r5/topic/com.ibm.discovery.ci.admin.doc/cdnad021.htm

    I believe it's the following:

    #Session Pool Server Appender Properties
    log4j.appender.A3=com.venetica.vbr.client.session.SessionPool
    log4j.appender.A3.logServerUrl=rmi://localhost:1250/LoggingServer
    log4j.appender.A3.layout=org.apache.log4j.PatternLayout
    log4j.appender.A3.layout.ConversionPattern=%-5p - %m%

    Also look into Audit logging to see the Reads/Writes occurring via SOA http://publib.boulder.ibm.com/infocenter/ce/v8r5/topic/com.ibm.discovery.ci.appdev.doc/cdnap026.htm

    2) Are ports setting correct for VeniceBridgeServices, or have I use different port for different services?
    You have 1251, I usually keep away from WAS ports for RMI Bridge port #'s, above 1300 but below 1600. might be fine.

    3) Do I have to take care of the order which I start RMIBridge and VeniceBridgeServices?
    No, as long as you have both running when ICI is in use, you're fine.
    or can I stop and start each of them regardless the other is running or not?
    Yes
    gotta get back to you on #4, but hope that helps
  • ecpeters
    ecpeters
    9 Posts

    Re: Managing ICI 8.5 session pooling

    ‏2010-09-29T03:51:10Z  
    • ecpeters
    • ‏2010-09-29T03:23:40Z
    Hi Andrea,

    QUESTIONS ARE:
    1) How and where have I configure the logging to check how session pool is used ?

    To activate logging for session pools in 8.5.1 you need to:
    go into the administrator
    right click on ConfigurationData, select 'properties'
    click on 'custom logging'

    From that window you will need to set the log4j appender for the SessionPool, outlined in the info center
    http://publib.boulder.ibm.com/infocenter/ce/v8r5/topic/com.ibm.discovery.ci.admin.doc/cdnad021.htm

    I believe it's the following:

    #Session Pool Server Appender Properties
    log4j.appender.A3=com.venetica.vbr.client.session.SessionPool
    log4j.appender.A3.logServerUrl=rmi://localhost:1250/LoggingServer
    log4j.appender.A3.layout=org.apache.log4j.PatternLayout
    log4j.appender.A3.layout.ConversionPattern=%-5p - %m%

    Also look into Audit logging to see the Reads/Writes occurring via SOA http://publib.boulder.ibm.com/infocenter/ce/v8r5/topic/com.ibm.discovery.ci.appdev.doc/cdnap026.htm

    2) Are ports setting correct for VeniceBridgeServices, or have I use different port for different services?
    You have 1251, I usually keep away from WAS ports for RMI Bridge port #'s, above 1300 but below 1600. might be fine.

    3) Do I have to take care of the order which I start RMIBridge and VeniceBridgeServices?
    No, as long as you have both running when ICI is in use, you're fine.
    or can I stop and start each of them regardless the other is running or not?
    Yes
    gotta get back to you on #4, but hope that helps
    to get to your last question..

    SOA doesn't utilize Session Pools because of it's stateless nature. Each call to the service is it's own session by def.