1 Reply Latest reply on Oct 12, 2007 6:50 AM by pmuir

    "could not discover transaction" despite transaction-managem

    cba2

      I have set <core:init transaction-management-enabled="false"/> in components.xml but I still get errors like the following:

      10:51:04,521 ERROR [Contexts] could not discover transaction status


      Should I disable seam transaction management somewhere else as well or is this rather a (minor) Seam bug?

      From Contexts.java (package org.jboss.seam.contexts):
       boolean transactionActive = false;
       try
       {
       transactionActive = Transaction.instance().isActive();
       }
       catch (Exception e)
       {
       log.error("could not discover transaction status");
       }
       if (transactionActive)
       {
       //in calls to MDBs and remote calls to SBs, the
       //transaction doesn't commit until after contexts
       //are destroyed, so pre-emptively flush here:
       getBusinessProcessContext().flush();
       }
      

      I suspect Transaction.instance() is just null (because there is simply no transaction) which triggers an NPE. But since the logged error includes no stack trace I cannot be sure...

      FYI: I use Seam2.0.0.BETA1 on plain Tomcat 5.5. I use spring for the whole persistence layer which is also why I would like to completely disable Seam transaction management.

        • 1. Re:
          pmuir

          This was fixed in CVS - you should explicitly install the <transaction:no-transaction /> component.