我正在尝试获得Bluemix自由容器连接并使用Bluemix会话缓存服务。
到目前为止我做了什么:
- 创建网桥应用程序并添加会话缓存服务
- 创建Liberty容器并连接桥接应用程序
- 点击此链接:http://www.ibm.com/developerworks/cloud/library/cl-sessioncache-app/index.html获取使用会话缓存的示例应用程序,并能够在服务概览仪表板中查看进度
- 在liberty容器内安装Websphere Extreme scale,并验证该特性已被liberty服务器激活并可以使用。
现在,如果我尝试使用应用程序并与浏览器导航到上下文根,我得到以下例外:
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
我提供了所有必需的值,例如objectGridName, catalogHostPort硬编码在server.xml内,因为获取服务信息的环境变量如文档也不工作。
对此有任何提示或解决方案吗?我在哪里错过了关键的连接,使它神奇地起作用?
更新: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"/>
听起来像是客户端连接问题,无法从客户端应用程序连接到docker容器。
那么,docker容器运行https会话web应用程序?它指向BM会话缓存服务?这是用例吗?如果是,问题可能是docker容器和会话缓存服务器之间的连通性。请确认。