0 Replies Latest reply on Feb 28, 2009 12:50 AM by Robert Ritchie

    DebugUtil bug with Seam

    Robert Ritchie Newbie
      I am working on a Seam application and am getting some strange behavior when my logging level is set to FINEST.

      JSF during the RestoreView phase is trying to execute a utility method called DebugUtil.printTree which (understandably) is causing my components to re-evaluate their TagValueExpressions.

      The issue we are seeing is related to our JSF components (h:outputText in the first case we saw this problem) have value expressions written using JBoss extended EL.

      example...
      <h:outputText value="#{delegateBean.evaluate(bean1.property, bean2.property, bean3.property)}"/>

      where delegateBean is an event scoped bean and bean1, bean2, and bean3 are in the conversation context for a LRC.

      The issue is that during this DebugUtil.printTree method call, when the evaluate method is called for the delegateBean all values passed to it are null.

      I have seen some postings about this with regards to Seam that suggest that this DebugUtil printing is called "after Seam has called clearThreadlocals in org.jboss.seam.contexts.Lifecycle" which seems to cause the issue.  In that same post a suggested "fix" is to never allow logging to be set to FINEST so the DebugUtil.printTree method is never executed...

      ...is this a known shortcoming with Seam that you cant have your Logger level set to FINEST?  I find that hard to believe and am wondering if there is a REAL fix for this issue.

      Thanks,
      #25
      ~BOB~