You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-user@jakarta.apache.org by Alexey Styrov <Al...@malva.ua> on 2003/09/22 14:07:43 UTC

Re: Transaction Operation

Hello!
I used unofficial j2eestore patch to substitute original
SlideTransactionManager with org.jboss.tm.TxManager, but still can't get
rid of errors.
I do NOT manually start the transaction, my method is simply declared as
@ejb.transaction type="Required" (also tried @ejb.transaction
type="RequiresNew")
 
Please gimme a point how to solve this.
 
javax.transaction.NotSupportedException: Transaction already active,
cannot nest transactions.
at org.jboss.tm.TxManager.begin(TxManager.java:111)
at org.apache.slide.common.Namespace.loadBaseData(Namespace.java:797)
at org.apache.slide.common.Domain.initNamespace(Domain.java:859)
at org.apache.slide.common.Domain.init(Domain.java:476)
at org.apache.slide.common.Domain.selfInit(Domain.java:792)
at org.apache.slide.common.Domain.accessNamespace(Domain.java:277)
at
ua.com.malva.slide.TransactionServlet.doGet(TransactionServlet.java:25)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
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
andler.java:94)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:558)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1714)
at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon
text.java:50)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1664)
at org.mortbay.http.HttpServer.service(HttpServer.java:863)
at org.jboss.jetty.Jetty.service(Jetty.java:460)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:775)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792)
at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:201
)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455)
 
Thanks,
Alexey

Re: Transaction Operation

Posted by Grant Gongaware <gg...@itensil.com>.
The domain init is tricky because the init sequence can have internal 
rollbacks for internal transactions markers. It is best to init the 
namespace separately, outside a transaction. I know this is hack, and to 
make Slide more container friendly, init has to be re-written.

-Grant

Alexey Styrov wrote:

>Hello!
>I used unofficial j2eestore patch to substitute original
>SlideTransactionManager with org.jboss.tm.TxManager, but still can't get
>rid of errors.
>I do NOT manually start the transaction, my method is simply declared as
>@ejb.transaction type="Required" (also tried @ejb.transaction
>type="RequiresNew")
> 
>Please gimme a point how to solve this.
> 
>javax.transaction.NotSupportedException: Transaction already active,
>cannot nest transactions.
>at org.jboss.tm.TxManager.begin(TxManager.java:111)
>at org.apache.slide.common.Namespace.loadBaseData(Namespace.java:797)
>at org.apache.slide.common.Domain.initNamespace(Domain.java:859)
>at org.apache.slide.common.Domain.init(Domain.java:476)
>at org.apache.slide.common.Domain.selfInit(Domain.java:792)
>at org.apache.slide.common.Domain.accessNamespace(Domain.java:277)
>at
>ua.com.malva.slide.TransactionServlet.doGet(TransactionServlet.java:25)
>at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>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
>andler.java:94)
>at
>org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:558)
>at org.mortbay.http.HttpContext.handle(HttpContext.java:1714)
>at
>org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon
>text.java:50)
>at org.mortbay.http.HttpContext.handle(HttpContext.java:1664)
>at org.mortbay.http.HttpServer.service(HttpServer.java:863)
>at org.jboss.jetty.Jetty.service(Jetty.java:460)
>at org.mortbay.http.HttpConnection.service(HttpConnection.java:775)
>at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939)
>at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792)
>at
>org.mortbay.http.SocketListener.handleConnection(SocketListener.java:201
>)
>at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
>at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455) 
>Thanks,
>Alexey
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: slide-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-user-help@jakarta.apache.org


Re: Transaction Operation

Posted by Grant Gongaware <gg...@itensil.com>.
The domain init is tricky because the init sequence can have internal 
rollbacks for internal transactions markers. It is best to init the 
namespace separately, outside a transaction. I know this is hack, and to 
make Slide more container friendly, init has to be re-written.

-Grant

Alexey Styrov wrote:

>Hello!
>I used unofficial j2eestore patch to substitute original
>SlideTransactionManager with org.jboss.tm.TxManager, but still can't get
>rid of errors.
>I do NOT manually start the transaction, my method is simply declared as
>@ejb.transaction type="Required" (also tried @ejb.transaction
>type="RequiresNew")
> 
>Please gimme a point how to solve this.
> 
>javax.transaction.NotSupportedException: Transaction already active,
>cannot nest transactions.
>at org.jboss.tm.TxManager.begin(TxManager.java:111)
>at org.apache.slide.common.Namespace.loadBaseData(Namespace.java:797)
>at org.apache.slide.common.Domain.initNamespace(Domain.java:859)
>at org.apache.slide.common.Domain.init(Domain.java:476)
>at org.apache.slide.common.Domain.selfInit(Domain.java:792)
>at org.apache.slide.common.Domain.accessNamespace(Domain.java:277)
>at
>ua.com.malva.slide.TransactionServlet.doGet(TransactionServlet.java:25)
>at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>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
>andler.java:94)
>at
>org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:558)
>at org.mortbay.http.HttpContext.handle(HttpContext.java:1714)
>at
>org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon
>text.java:50)
>at org.mortbay.http.HttpContext.handle(HttpContext.java:1664)
>at org.mortbay.http.HttpServer.service(HttpServer.java:863)
>at org.jboss.jetty.Jetty.service(Jetty.java:460)
>at org.mortbay.http.HttpConnection.service(HttpConnection.java:775)
>at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939)
>at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792)
>at
>org.mortbay.http.SocketListener.handleConnection(SocketListener.java:201
>)
>at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
>at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455) 
>Thanks,
>Alexey
>
>  
>