Return-Path: Delivered-To: apmail-jackrabbit-users-archive@locus.apache.org Received: (qmail 14517 invoked from network); 14 Jul 2008 08:38:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Jul 2008 08:38:03 -0000 Received: (qmail 95031 invoked by uid 500); 14 Jul 2008 08:38:03 -0000 Delivered-To: apmail-jackrabbit-users-archive@jackrabbit.apache.org Received: (qmail 94570 invoked by uid 500); 14 Jul 2008 08:38:02 -0000 Mailing-List: contact users-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@jackrabbit.apache.org Delivered-To: mailing list users@jackrabbit.apache.org Received: (qmail 94559 invoked by uid 99); 14 Jul 2008 08:38:02 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Jul 2008 01:38:02 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of marcel.reutegger@gmx.net designates 213.165.64.20 as permitted sender) Received: from [213.165.64.20] (HELO mail.gmx.net) (213.165.64.20) by apache.org (qpsmtpd/0.29) with SMTP; Mon, 14 Jul 2008 08:37:09 +0000 Received: (qmail invoked by alias); 14 Jul 2008 08:37:31 -0000 Received: from bsl-rtr.day.com (EHLO [10.0.0.80]) [62.192.10.254] by mail.gmx.net (mp065) with SMTP; 14 Jul 2008 10:37:31 +0200 X-Authenticated: #894343 X-Provags-ID: V01U2FsdGVkX1+cYu4F5sCcumetNP39mVuN8/6JoZdYvFYSpuBF4o dmG7Auqyt3EjX0 Message-ID: <487B104F.5000208@gmx.net> Date: Mon, 14 Jul 2008 10:37:35 +0200 From: Marcel Reutegger User-Agent: Thunderbird 2.0.0.14 (Windows/20080421) MIME-Version: 1.0 To: users@jackrabbit.apache.org Subject: Re: Need configuration details for running jackrabbit in managed mode (XA transactions) References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.51 X-Virus-Checked: Checked by ClamAV on apache.org Hi, please note that jackrabbit needs full control over the database connections it operates on. that also includes committing a transaction. in a XA environment jackrabbit itself will act as a XA resource and control when changes to the underlying database are committed. regards marcel Anand Bhagwat wrote: > I want to use jackrabbit in a managed environment. Operations on jackrabbit > content repository should participate in XA transactions. > > 1) Please let me know appropriate repository configuration. > > Here are the details of my env: > Server : JBoss 4.2.2 GA > Spring : 2.5.4 > Hibernate: 3.x > Jackrabbit 1.4 > springmodules 0.8 > jackrabbit-jca 1.4 > > I am using *org.apache.jackrabbit.core.fs.db.DbFileSystem* and * > org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager. > > *2) I get an error when I create a new transaction from an existing > transaction using PROPOGATION_REQUIRES_NEW especially when I do some > operation on jackrabbit like addNode, addProperty etc. Am I missing > something? > > java.lang.IllegalStateException: Can't enlist - already a tx! > at > org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:516) > at > org.jboss.resource.connectionmanager.TxConnectionManager.transactionStarted(TxConnectionManager.java:328) > at > org.jboss.resource.connectionmanager.CachedConnectionManager.userTransactionStarted(CachedConnectionManager.java:360) > at > org.jboss.tm.usertx.client.ServerVMClientUserTransaction.begin(ServerVMClientUserTransaction.java:127) > at > org.springframework.transaction.jta.JtaTransactionManager.doJtaBegin(JtaTransactionManager.java:886) > at > org.springframework.transaction.jta.JtaTransactionManager.doBegin(JtaTransactionManager.java:843) > at > org.springframework.transaction.support.AbstractPlatformTransactionManager.handleExistingTransaction(AbstractPlatformTransactionManager.java:423) > at > org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:356) > at > org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:125) > at > com.sungard.cs.docrepos.util.InfinityIdentityGenerator.generate(InfinityIdentityGenerator.java:44) > at > org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:91) > at > org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186) > at > org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175) > at > org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:98) > at > org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) > at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:502) > at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:494) > at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:490) > at > org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:747) > at > org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419) > at > org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374) > at > org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:744) > at > com.sungard.framework.base.dao.hibernate.BaseDaoHibernate.add(BaseDaoHibernate.java:68) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) > at > org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > at $Proxy58.add(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) > at $Proxy99.add(Unknown Source) > at > com.sungard.framework.base.service.impl.ServiceImpl.add(ServiceImpl.java:87) > at > com.sungard.cs.admin.firmprofile.service.impl.FirmProfileServiceImpl.saveFirmProfile(FirmProfileServiceImpl.java:240) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) > at > org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) > at $Proxy101.saveFirmProfile(Unknown Source) > at > com.sungard.cs.admin.firmprofile.action.FirmProfileAction.saveProfile(FirmProfileAction.java:1043) > at > com.sungard.cs.admin.firmprofile.action.FirmProfileAction.doUpdate(FirmProfileAction.java:605) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > com.sungard.framework.base.action.BaseAction.dispatchMethod(BaseAction.java:402) > at > com.sungard.framework.base.action.BaseAction.execute(BaseAction.java:176) > at > org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419) > at > com.sungard.framework.controller.CSARequestProcessor.processActionPerform(CSARequestProcessor.java:252) > at > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) > at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > com.sungard.cs.admin.sessionmanager.SessionManagerFilter.doFilter(SessionManagerFilter.java:65) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.springframework.web.multipart.support.MultipartFilter.doFilterInternal(MultipartFilter.java:112) > at > com.sungard.framework.web.multipart.support.CSAMultipartFilter.doFilterInternal(CSAMultipartFilter.java:55) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil > > Thanks, > Anand.* > > * >