jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Reutegger <marcel.reuteg...@gmx.net>
Subject Re: Need configuration details for running jackrabbit in managed mode (XA transactions)
Date Mon, 14 Jul 2008 12:47:37 GMT
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 <marcel.reutegger@gmx.net>:
> 
>> 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.*
>>>
>>> *
>>>
>>>
> 


Mime
View raw message