3

I am trying to get the Bluemix Liberty container connect and use the Bluemix Session cache service.

What I did so far:

  1. Create bridge application and add Session cache service
  2. Create Liberty container and connect with bridge application
  3. Followed this link: http://www.ibm.com/developerworks/cloud/library/cl-sessioncache-app/index.html to get a sample Application using Session caching and being able to see progress in the Service overview dashboard
  4. Installed Websphere Extreme scale inside the liberty container and verified that feature is activated by liberty server and can be used.

Now if I try to use the application and navigate with the browser to the contextRoot I am getting the following Exceptions:

com.ibm.ws.xsspi.xio.exception.InvalidXIORefException <br />
Source = com.ibm.ws.xsspi.xio.actor.XIORegistry <br />
probeid = 659<br />
Stack Dump = com.ibm.ws.xsspi.xio.exception.InvalidXIORefException [originating=127.0.0.1:0;exid=79]: unable to find actor at index=17 <br />

com.ibm.ws.xsspi.xio.exception.InvalidXIORefException<br />
Source = com.ibm.ws.xsspi.xio.actor.XIORegistry<br />
probeid = 651<br />
Stack Dump = com.ibm.ws.xsspi.xio.exception.InvalidXIORefException [originating=127.0.0.1:0;exid=64]: XIORef at 17 does not have the same id as target xioref

java.lang.RuntimeException<br />
Source = com.ibm.ws.xs.sessionmanager.GridAvailability.run<br />
probeid = 164<br />
Stack Dump = java.lang.RuntimeException: org.omg.CORBA.TRANSIENT: java.net.SocketTimeoutException: connect timed out

I am providing all the required values, e.g. objectGridName, catalogHostPort Hardcoded inside the server.xml since the environment variables to fetch the service information like documented were also not working.

Any hints or solutions to this? Where am I missing the crucial connection so that it magically works?

Update: server.xml

<featureManager>
    <feature>webProfile-6.0</feature>
    <feature>eXtremeScale.webapp-1.1</feature>
    <feature>icap:appstate-1.0</feature>
</featureManager>

<httpEndpoint id="defaultHttpEndpoint"
              host="*"
              httpPort="9080"
              httpsPort="443" />

<keyStore id="defaultKeyStore"
          password="Liberty" />

    <xsWebApp id="mysession" 
    objectGridName="value of session credential gridName" 
    objectGridType="REMOTE" 
    catalogHostPort="value of session credential catalogEndPoint"
    securityEnabled="true"
    credentialGeneratorClass="com.ibm.websphere.objectgrid.security.plugins.builtins.UserPasswordCredentialGenerator" 
    credentialGeneratorProps="value of session credential username and password" 
    />

<httpSession idReuse="true" />

<application name="sessionCacheSample" context-root="/" location="sessionCacheSample.war" type="war"/>

covener
  • 17,402
  • 2
  • 31
  • 45
mehmetue
  • 33
  • 5
  • Can you give me the following information? 1. Do you mean you have a Liberty Runtime, running inside Bluemix and trying to connect to Session Cache? 2. Can you show me the server xml? Thanks – Abelard Chow Oct 07 '15 at 20:00
  • No, not a liberty runtime but a liberty docker container. – mehmetue Oct 08 '15 at 06:23

1 Answers1

0

it sounds like the client connectivity issue, that cannot connect from the client app to the docker container.

So, docker container running the https session web app? and it points to BM session cache service? Is this the use case? if yes, the problem could be the connectivity between the docker container and the session cache server. please comfirm.

Paul Chen
  • 61
  • 1
  • Yes, Bluemix provided docker liberty container hosting the application and trying to connect to bluemix provided session cache server. Everything of course also hosted on bluemix. Not a local container trying to use bluemix session cache. – mehmetue Oct 08 '15 at 16:29