जेएसएफ 2.0.9, वेबलॉगिक 10.3.4 पर चल रहा है। अब हम अपने उत्पादन माहौल में जेएसएफ चला रहे हैं लेकिन सत्र प्रतिकृति के साथ कुछ मुद्दों का सामना करना पड़ा है और विफल हो गया है। हम अपने सेम के लिए व्यूस्कोप का उपयोग कर रहे हैं और मैंने सुनिश्चित किया है कि वे सीरियलज़ेबल/क्षणिक हैं और क्षणिक चर प्रभावी ढंग से स्टेटलेस हैं। हालांकि सत्र विफल हो रहा है काम नहीं कर रहा है। मैं व्यापक परीक्षण किया है और यह web.xmlजेएसएफ सत्र विफल और आंशिक राज्य बचत
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
</context-param>
में निम्नलिखित पैरामीटर की स्थापना अगर मैं सेट STATE_SAVING_METHOD
server
को मैं विफलता पर एक viewexpired अपवाद द्वारा काम कर पाने में कामयाब रहे। अगर मैं true
को PARTIAL_STATE_SAVING
साथ client
करने के लिए सेट मैं निम्नलिखित त्रुटि मिलती है:
STATE_SAVING_METHOD
है -client
&PARTIAL_STATE_SAVING
-false
एक ही रास्ता मैं करने जा रहा हूँ:java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.RangeCheck(ArrayList.java:547) at java.util.ArrayList.get(ArrayList.java:322) at javax.faces.component.AttachedObjectListHolder.restoreState(AttachedObjectListHolder.java:165) at javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:1433) at com.sun.faces.application.view.StateManagementStrategyImpl$1.visit(StateManagementStrategyImpl.java:265) at com.sun.faces.component.visit.FullVisitContext.invokeVisitCallback(FullVisitContext.java:151) at javax.faces.component.UIComponent.visitTree(UIComponent.java:1507) at javax.faces.component.UIComponent.visitTree(UIComponent.java:1521) at com.sun.faces.component.visit.VisitUtils.doFullNonIteratingVisit(VisitUtils.java:75) at com.sun.faces.application.view.StateManagementStrategyImpl.restoreView(StateManagementStrategyImpl.java:282) at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:181) at com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:123) at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:448) at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:148) at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:187) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:111) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
तो मेरे सवालों इन कर रहे हैं काम करने में विफलता पाएं?
- ग्राहक/झूठी संयोजन की लागत क्या है। क्या यह स्मृति/सीपीयू व्यापक है?
- क्या यह एक बग है और यदि ऐसा है तो यह 2.1 या 2.2 में हल हो गया है?
अग्रिम धन्यवाद।
हमारे पास आईआईएस है। सत्र प्रतिकृति वेबलॉगिक द्वारा संभाली जाती है न कि लोड बैलेंसर। चिपचिपा सत्र चालू है लेकिन यह मुद्दा नहीं है। मुद्दा एक नए जेवीएम के लिए सही ढंग से विफल होने के सत्र की विफलता है। – andyfinch
यदि आपने वेबलॉगिक सर्वर पर चिपचिपा सत्र सेट किया है, तो वेबलॉग सर्वर केवल उस नोड पर उपयोगकर्ता सत्र जानकारी के साथ कुकी बनायेगा। मेरा अनुमान है कि यह कुकी दूसरे नोड पर नहीं जाती है जब एक विफलता तब होती है जब वेबलॉगिक इंस्टेंस केवल खुद के बारे में पता होता है। यही कारण है कि मैंने कहा कि आपको लोड बैलेंसर पर चिपचिपा सत्रों को आजमाकर चालू करना चाहिए क्योंकि लोड बैलेंसर कुकी को दूसरे नोड में पास करने में सक्षम है। –
धन्यवाद लेकिन मुझे नहीं लगता कि मैं अपने प्रारंभिक प्रश्न में स्पष्ट था। सत्र प्रतिकृति हो रही है लेकिन जेएसएफ सत्रों के साथ बिल्कुल सही नहीं है। हमारे ऐप का केवल एक हिस्सा एमओएफ पर जेएसएफ का उपयोग करता है और गैर जेएसएफ सत्र ठीक से दोहरा रहे हैं। – andyfinch