2 Replies Latest reply on Apr 25, 2002 12:18 AM by davidjencks

    tx semantics warning, EB - MDB communication

    msaringer

      hello,

      From an local entity been I feed a queue which is consumed by a message drive bean.
      Just before the MDB onMessage() message exutes, the servers shows the following warning:
      "WARN [LocalTxConnectionManager] prepare called on a local tx. You are not getting the semantics you expect!"

      what does this mean?
      how to avoid this?

      thanx for help,
      michael

        • 1. Re: tx semantics warning, EB - MDB communication

          I got the same message, but right before onMessage() finishes execution.
          Looking at the latest cvs checkout code, I find the message printed out of org.jboss.resource.connectionmanager.LocalTxConnectionManager.prepare(xid) method. I guess it's trying to say that local tx doesn't need 2-phase commit stuff, hence the prepare() call. Can the message be ignored for now?

          --- Jeff

          • 2. Re: tx semantics warning, EB - MDB communication
            davidjencks

            The purpose of the message is to alert you that the transaction manager thinks there are two resource managers in the transaction, however at least one of them doesn't support xa semantics. If jboss fails during the commit phase, there is no way to determine the transactions state and recover from the failure.

            Since the jms stuff is normally accessed through the xa capable jmsra adapter, I assume this means you are getting a message and doing some database work in the same transaction. If not, please let me know what you are doing, please reply on the jca forum. If so, you may want to use an xa capable database and driver. As far as I know, the only free open source db with an xa driver is firebird. Of course, the expensive guys like Oracle, Sybase, Informix, etc support xa.