Sounds like you've gone through enough headache for one person.  Meet
me on irc://irc.freenode.net/openejb and I'll see if I can't get you
straightened out.

-David


On Mon, Mar 22, 2004 at 09:04:58PM -0000, Michael Forster wrote:
> I tried this and still got errors, I have cut the code down to just 2 Beans
> 
> 1 Session bean
> 1 Entity Bean
> 
> OpenEJB startup shows the following
> 2004-03-22 13:42:46,404  INFO [main] (Logger.java:548) -
> ****************************************************************************
> ****
> OpenEJB http://openejb.sf.net
> Startup: 22/03/04 13:42
> Copyright 2000,2001,2002 (C) OpenEJB Project, All Rights Reserved.
> Version: 0.9.2
> Build date: 20030605
> Build time: 0409
> ****************************************************************************
> ****
> 
> 
> 2004-03-22 13:42:46,414 DEBUG [main] (Logger.java:1582) - Instantiating
> assembler class org.openejb.alt.assembler.classic.Assembler
> 2004-03-22 13:42:49,218 DEBUG [main] (Logger.java:1582) - Containers
> : 2
> 2004-03-22 13:42:49,218 DEBUG [main] (Logger.java:1342) - Type
> Container ID
> 2004-03-22 13:42:49,218 DEBUG [main] (Logger.java:1582) -    ENTITY
> Ingotz CMP Container
> 2004-03-22 13:42:49,228 DEBUG [main] (Logger.java:1582) -    STATELESS
> Ingotz Stateless Container
> 2004-03-22 13:42:49,228 DEBUG [main] (Logger.java:1582) - Deployments
> : 13
> 2004-03-22 13:42:49,228 DEBUG [main] (Logger.java:1342) - Type
> Deployment ID
> 2004-03-22 13:42:49,228 DEBUG [main] (Logger.java:1582) -    STATELESS
> AdminManagerBean
> 2004-03-22 13:42:49,238 DEBUG [main] (Logger.java:1582) -    CMP_ENTITY
> CardListBean
> 2004-03-22 13:42:49,238 DEBUG [main] (Logger.java:1582) - SecurityService
> : org.openejb.ri.sp.PseudoSecurityService
> 2004-03-22 13:42:49,238 DEBUG [main] (Logger.java:1582) -
> TransactionManager: org.openejb.core.TransactionManagerWrapper
> 2004-03-22 13:42:49,248  INFO [main] (Logger.java:307) - OpenEJB ready.
> 
> I am still getting the error
> 2004-03-22 13:34:59,683 ERROR [EJB Daemon [18]]
> (TransactionManagerWrapper.java:420) -
> java.lang.RuntimeException: JDBC driver failed to commit transaction.
> Invalid transaction context. No active transaction
>       at
> org.openejb.resource.SharedLocalConnectionManager$Synchronizer.afterCompleti
> on(SharedLocalConnectionManager.java:211)
>       at
> org.openejb.core.TransactionManagerWrapper$TransactionWrapper.afterCompletio
> n(TransactionManagerWrapper.java:418)
>       at
> org.openejb.ri.sp.PseudoTransactionService$MyTransaction.doAfterCompletion(P
> seudoTransactionService.java:181)
>       at
> org.openejb.ri.sp.PseudoTransactionService$MyTransaction.commit(PseudoTransa
> ctionService.java:140)
>       at
> org.openejb.ri.sp.PseudoTransactionService$MyTransactionManager.commit(Pseud
> oTransactionService.java:91)
>       at
> org.openejb.core.TransactionManagerWrapper.commit(TransactionManagerWrapper.
> java:143)
>       at
> org.openejb.core.transaction.TransactionPolicy.commitTransaction(Transaction
> Policy.java:171)
>       at org.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:120)
>       at
> org.openejb.alt.containers.castor_cmp11.CastorCmpEntityTxPolicy.afterInvoke(
> CastorCmpEntityTxPolicy.java:131)
>       at
> org.openejb.alt.containers.castor_cmp11.CastorCMP11_EntityContainer.business
> Method(CastorCMP11_EntityContainer.java:748)
>       at
> org.openejb.alt.containers.castor_cmp11.CastorCMP11_EntityContainer.invoke(C
> astorCMP11_EntityContainer.java:544)
>       at
> org.openejb.server.EjbDaemon.doEjbObject_BUSINESS_METHOD(EjbDaemon.java:695)
>       at org.openejb.server.EjbDaemon.processEjbRequest(EjbDaemon.java:534)
>       at org.openejb.server.EjbDaemon.run(EjbDaemon.java:374)
>       at java.lang.Thread.run(Thread.java:536)
> 
> I have tried using Bean and Container for the Stateless Session bean
> and when set to container I have tried Never, Required, RequiresNew,
> Supports and they all give more or less the same error.
> 
> The code in the beans is fairly simple. and the Entity is only reading from
> the DB not writing to it. From what I have seen the programmer before me
> didnt know how to stop this as all he did was set the log4j to drop all the
> errors down a bitbucket as the code works, but I am not happy with having
> errors.
> 
> Mike.
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: 20 March 2004 20:44
> To: [EMAIL PROTECTED]
> Subject: Re: [openejb-user] Error when running a jar.
> 
> 
> On Sat, Mar 20, 2004 at 02:08:04PM -0600, [EMAIL PROTECTED] wrote:
> > ----- Forwarded message from Michael Forster <[EMAIL PROTECTED]> -----
> >
> > We have a Sessionbean that is being used as a facade between the JSP
> server
> > and the Bean server, however when we instantiate the Session we get the
> > following errors
> >
> > INFO EJB Daemon [3] Transaction - TX_RequiresNew: Suspended transaction
> null
> > INFO EJB Daemon [3] Transaction - TX_RequiresNew: Started transaction
> > [EMAIL PROTECTED]
> > INFO EJB Daemon [3] Transaction - TX_RequiresNew: Committing transaction
> > [EMAIL PROTECTED]
> > ERROR EJB Daemon [3] Transaction -
> > java.lang.RuntimeException: JDBC driver failed to commit transaction.
> > Invalid transaction context. No active transaction
> [snip]
> 
> > our ejb-jar.xml file is as follows.
> >
> >      <session>
> >       <ejb-name>SessionManagerBean</ejb-name>
> >       <home>com.ingotz.j2ee.ejb.SessionManagerHome</home>
> >       <remote>com.ingotz.j2ee.ejb.SessionManager</remote>
> >       <ejb-class>com.ingotz.j2ee.ejb.SessionManagerBean</ejb-class>
> >       <session-type>Stateless</session-type>
> >       <transaction-type>Container</transaction-type>
> >     </session>
> 
> > Can anyone enlighten me as to how to stop the errors.
> > (I have tried Required, Never, Supports, all with no luck either)
> 
> If you don't need a TX around the bean call, you could switch the bean
> to be a bean-managed TX bean, then cut the assembly-descriptor section
> out all together.
> 
> So something like this:
> 
>       <session>
>        <ejb-name>SessionManagerBean</ejb-name>
>        <home>com.ingotz.j2ee.ejb.SessionManagerHome</home>
>        <remote>com.ingotz.j2ee.ejb.SessionManager</remote>
>        <ejb-class>com.ingotz.j2ee.ejb.SessionManagerBean</ejb-class>
>        <session-type>Stateless</session-type>
>        <transaction-type>Bean</transaction-type>
>      </session>
> 
> Then the container is not going to try and enforce any particular
> transaction rules other than checking to see if you started a
> transaction but did not commit it (that's a no-no for stateless
> session beans).
> 
> Give that a try and let us know how it goes.
> 
> -David
> ---
> Incoming mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.620 / Virus Database: 399 - Release Date: 11/03/2004
> 
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.620 / Virus Database: 399 - Release Date: 11/03/2004

Reply via email to