2016-11-03 41 views
0

我对mobilefirst 7.1应用程序,它被部署WebSphere Application Server上的工作之间的持久性一切工作正常。Session也不适配器和mobilefirst服务器/ WebSphere Application Server的java类(servlet的)

作为每个码,我们设置适配器内会话的属性,并尝试从java类(servlet的)访问它是应用程序的一部分并暴露在web.xml文件使用配置的servlet。

我的工作灯性能配置:

mfp.session.independent=false 
mfp.attrStore.type=HttpSession 

我的适配器代码:

function myProcedure(XXX){ 
    WL.Server.getClientRequest().getSession().setAttribute("myAtrrib", XXX); 
    return { result :"Success"}; 
} 

的Java servlet代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     String crdAcc = (String) request.getSession(true).getAttribute("myAtrrib"); 
} 

所以这里的问题时,我尝试访问该属性它给我null

当我检查会话的细节,我发现是会话是新会话。

我不知道为什么服务器为这个servlet调用创建新的会话,而不是使用它用于通过mobilefirst适配器相同。类似的代码正在使用worklight 6.1。

回答

0

在你提到你是一个集群上前面的问题,那么会不会是在你的服务器和/或负载平衡器,你没有启用粘滞会话配置?这可能会解释“新连接”发生并且价值不可用。

+0

为了检查我做了什么,我停止了其中一台服务器并仅在一台服务器上进行了测试。即使它不起作用。无论会话数据是从适配器设置的,都可以从会话的其他适配器访问,但不能从Java类(Servlet)访问。 – John

+0

考虑打开IBM支持团队的PMR以查看。 –

+0

为此提出了PMR。 – John

相关问题