2016-11-03 42 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

相關問題