I am trying to get the Bluemix Liberty container connect and use the Bluemix Session cache service.
What I did so far:
- Create bridge application and add Session cache service
- Create Liberty container and connect with bridge application
- 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
- 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"/>
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.