you just have to make sure that the database connections used by jackrabbit are not managed by the container.

btw, the stacktrace does not contain any reference to jackrabbit classes. maybe this is not a jackrabbit issues?

regards
 marcel

Anand Bhagwat wrote:
Do I need to do anything specific for that?
Currently I am using Mysql Bundle persistant manager and DBFileManager on
mysql database. The user with which jackrabbit connects to database has full
access to the corresponding schema.

Regards,
Anand.

2008/7/14 Marcel Reutegger <[EMAIL PROTECTED]>:

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.*

*




Reply via email to