0

I'm running GlassFish 3.1.2.2 in fail-over cluster. Session replication is configured and works perfectly. Project is in JSF and PrimeFaces using extensive AJAX. The problem is when server fails-over to another node on AJAX call I'm getting the exception:

java.lang.IllegalStateException: Component ID j_idt311 has already been found in the view.  
    at com.sun.faces.util.Util.checkIdUniqueness(Util.java:846)
    at .....

Manually assigning IDs to every component on every page is impractical. Is there way to resolve the problem in more practical way? Thank you.

wikisky
  • 345
  • 2
  • 13
  • This problem can have many causes. Let's start with excluding the most common starter's mistakes. Can you assure that you're **nowhere** using the `binding` attribute on a view or broader scoped bean property, and that you've **nowhere** declared an `UIComponent` instance as a property of a view or broader scoped bean? – BalusC Apr 07 '15 at 08:50
  • No, nothing special, no binding, just standard components – wikisky Apr 07 '15 at 08:52
  • 1
    Is the Mojarra-specific `web.xml` context param `com.sun.faces.serializeServerState` set to `true`? – BalusC Apr 07 '15 at 08:56
  • I just tried to set that param, it didn't help. – wikisky Apr 07 '15 at 14:41
  • 1
    Are you using GF 3.1.2.2 builtin Mojarra version (which is rather old these days) or did you [upgrade](http://stackoverflow.com/questions/10782528/how-to-update-mojarra-version-in-glassfish) it to latest 2.1.x available? – BalusC Apr 07 '15 at 14:43
  • Yes, I had buildin Mojarra version 2.1.6. I upgraded to latest (2.1.29) - still getting same error. – wikisky Apr 08 '15 at 04:33
  • I think I got it to work by upgrading Mojarra to 2.1.29, setting com.sun.faces.serializeServerState=true and [patching](http://www.ninthavenue.com.au/java-lang-classnotfoundexception-com-sun-el-lang-variablemapperimpl-fixed-for-glassfish-jsf) JSF bug triggered by serializeServerState=true setting. – wikisky Apr 08 '15 at 05:12

0 Answers0