1 Reply Latest reply on Dec 22, 2006 2:57 PM by norman.richards

    StackOverflowError Shenanigans

    jimk1723

      I made the mistake of naming one of my Seam components "org" for my organization entities, e.g. @Factory("org"). Seam blew up. Is this one for JIRA or is there a best practices document for component naming?

      I'll spare you the 50 page stacktrace and include only the coup de'gras:

      Caused by: javax.faces.el.EvaluationException: Cannot get value for expression '#{org.jboss.seam.core.facesMessages}'
       at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:402)
       at org.jboss.seam.core.Expressions$1.getValue(Expressions.java:51)
       at org.jboss.seam.Component.getInstanceFromFactory(Component.java:1666)
       at org.jboss.seam.Component.getInstance(Component.java:1615)
       at org.jboss.seam.Component.getInstance(Component.java:1592)
       at org.jboss.seam.Component.getInstanceToInject(Component.java:1842)
       at org.jboss.seam.Component.injectFields(Component.java:1342)
       at org.jboss.seam.Component.inject(Component.java:1112)
      


        • 1. Re: StackOverflowError Shenanigans

          This looks like a side-effect of Gavin's change to allow you to use fully-qualified component names using a "." as a separator instead of "$". All of the seam components are "org.jboss.seam.*". If you override "org", things can blow up.

          It might be possible for us to change the seam component naming to "seam.*" but that would only solve the short term problem. So, for now - avoid "org" and any other toplevel namespace components that you are likely to use.