Hi, in your configuration OJB needs a JTA transaction to synchronize with this a internal tx. Try to use UserTransaction
UserTransaction utx = lookup.. utx.begin() > Transaction tx = odmg.currentTransaction(); /* here I get the crash */ > tx.lock(object, Transaction.WRITE); utx.commit(); or enable container managed transaction demarcation. regards, Armin ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, June 26, 2003 2:42 PM Subject: unable to get transaction in JBoss > Hello, > > I'm using JBoss 3.0.6 and I have a web application running that uses OJB > rc3. I'm trying to insert an object but I'm not able to get the current > transaction: > > Transaction tx = odmg.currentTransaction(); /* here I get the crash */ > tx.lock(object, Transaction.WRITE); > tx.commit(); > > The ODMG implemantation is instantiated as follows (I didn't wanted to use > ODMGFactory because needed JBoss specific Jar-Files): > > ODMGJ2EEFactory factory = null; > try > { > factory = (ODMGJ2EEFactory) context.lookup("java:/ojb/defaultODMG"); > } > catch (NamingException e) > { > logger.error(THIS_CLASS + "ctx.lookup(java:/ojb/defaultODMG) failed", e); > throw new OJBRuntimeException("Could not lookup ODMG factory instance", > e); > } > this.odmg = factory.getInstance(); > > What am I doing wrong? > > Julia. > > > P.S.: The Stack Trace: > > org.odmg.TransactionNotInProgressException: No external transaction found > at org.apache.ojb.odmg.JTATxManager.registerTx(Unknown Source) > at org.apache.ojb.odmg.TransactionImpl.begin(Unknown Source) > at org.apache.ojb.odmg.OJBJ2EE_2.beginInternTransaction(Unknown > Source) > at org.apache.ojb.odmg.OJBJ2EE_2.currentTransaction(Unknown Source) > at > de.arvatosystems.monitoring.integration.dao.server.ServerOjbDAO.insert(S erve > rOjbDAO.java:285) > at > de.arvatosystems.monitoring.business.delegate.ServerDelegate.insert(Serv erDe > legate.java:191) > at > de.arvatosystems.monitoring.presentation.action.server.CollectModule.exe cute > (CollectModule.java:255) > at > org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr oces > sor.java:465) > at > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 274) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422) > at > org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:523) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360) > at > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationH andl > er.java:280) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:553) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1717) > at > org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon text > .java:549) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1667) > at org.mortbay.http.HttpServer.service(HttpServer.java:862) > at org.jboss.jetty.Jetty.service(Jetty.java:497) > at org.mortbay.http.HttpConnection.service(HttpConnection.java:759) > at > org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:923) > at org.mortbay.http.HttpConnection.handle(HttpConnection.java:776) > at > org.mortbay.http.SocketListener.handleConnection(SocketListener.java:202 ) > at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289) > at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455) > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]