I am trying to integrate Toplink with CMT Message driven bean. MY MDB is CMT. When I try to use unitofwork commit it is erroring out saying a global transaction is present so can not do local commit. After researching toplink they suggested following things. use external connection pool and use getactiveUnit of work to commit. We are using oracle 10.1.3 container for connection pooling and external transaction controller (OC4J transaction controller). When I changed to getActiveUnitWork().commit, I get null pointer because of null active unit of work. My understanding is container starts a transaction when on message of MDB gets executed. So toplink getactive unit of work should associate a unit of work with external transaction. Toplink GetActive unit of work method should return null only when there is no external transaction is present. I am not sure how to solve this issue or what is wrong. I appreciate any help on this.
Thanks. TZ