Return-Path: Delivered-To: apmail-openjpa-users-archive@minotaur.apache.org Received: (qmail 57299 invoked from network); 11 Nov 2009 14:12:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 11 Nov 2009 14:12:53 -0000 Received: (qmail 35897 invoked by uid 500); 11 Nov 2009 14:12:53 -0000 Delivered-To: apmail-openjpa-users-archive@openjpa.apache.org Received: (qmail 35809 invoked by uid 500); 11 Nov 2009 14:12:52 -0000 Mailing-List: contact users-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@openjpa.apache.org Delivered-To: mailing list users@openjpa.apache.org Received: (qmail 35799 invoked by uid 99); 11 Nov 2009 14:12:52 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Nov 2009 14:12:52 +0000 X-ASF-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00,HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of kwsutter@gmail.com designates 74.125.78.26 as permitted sender) Received: from [74.125.78.26] (HELO ey-out-2122.google.com) (74.125.78.26) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Nov 2009 14:12:48 +0000 Received: by ey-out-2122.google.com with SMTP id 22so228452eye.45 for ; Wed, 11 Nov 2009 06:12:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=d/+GpgiF6oFVaGcnvqAyfXTm7y/oJUpwseUuFJhupp4=; b=HPP04DRzwqeFJbQrgFTtTh3GGgCS9ukX7raAJAFjVYVCRuFaH2lLs3sozHOuASYced l+Wt+kdrJfgNphwrIqIZ7TL4v9sdPJzzyC27QnMUuayVNYwpnTO6cZPkanldWneRxl62 ZY6G1xMbcoEoIn1SY/SqYhrYyXmbkhHmbHNks= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=HbAVy3fNutp3a31D1Jf3VVWOSsL9ibgzA+USOjhs950LolNl77G9HNFkaOfsnb5jzq wPzmh3G2ZOuIF4RcxOIq0c72iv+FoWBb0bmK3fFqRQzAExONcyHyfTWazhvG6oLoM0Vy MsHjsXJSlVgB7HhOU96qFrmxd+bxJrAOJoX64= MIME-Version: 1.0 Received: by 10.213.102.72 with SMTP id f8mr1720757ebo.26.1257948746638; Wed, 11 Nov 2009 06:12:26 -0800 (PST) In-Reply-To: <1257833521008-3977999.post@n2.nabble.com> References: <1257833521008-3977999.post@n2.nabble.com> Date: Wed, 11 Nov 2009 08:12:26 -0600 Message-ID: <89c0c52c0911110612y4e4043a3t9dd52d0c047f7581@mail.gmail.com> Subject: Re: Problem with bulk persist with programmatic transaction in OpenJpa 1.2.1 jar From: Kevin Sutter To: users@openjpa.apache.org Content-Type: multipart/alternative; boundary=00504502d1263068e704781904f3 --00504502d1263068e704781904f3 Content-Type: text/plain; charset=ISO-8859-1 Hi amitm, >From looking at the condition posted, this looks to be a problem with the Spring management of EntityManagers. Even if you have not changed the level or usage of Spring, it very well could be the case that we (OpenJPA) discovered a hole with this closure detection and filled it in. So, with 1.0.x, your app was lucky. And, now with 1.2.x, your app is getting caught. Here's what I am seeing... openjpa-1.2.1-runknown fatal user error> org.apache.openjpa.persistence.InvalidStateException: The context has been closed. The stack trace at which the context was closed is held in the embedded exception. FailedObject: java.lang.IllegalStateException at org.apache.openjpa.kernel.BrokerImpl.assertOpen(BrokerImpl.java:4370) : .. with the embedded exception showing when the context was closed... : Caused by: java.lang.IllegalStateException at org.apache.openjpa.kernel.BrokerImpl.free(BrokerImpl.java:4148) at org.apache.openjpa.kernel.BrokerImpl.close(BrokerImpl.java:4078) : Good luck, Kevin On Tue, Nov 10, 2009 at 12:12 AM, amitm wrote: > > Hi, > I have updated OpenJpa jar to version 1.2.1 from 1.0.1. I am facing a > strange problem. I have an object which is having a OneToMany field. This > object is being persisted in database in bulk. I am reading a CSV file and > populating this object and then saving the objects in batch. For this I > have > used programmatic transaction. While populating the object this OneToMany > field is accessed and the value for the same is populated. I am getting > following exception in the first batch of data. After that it is working > fine. What is more strange to me is that this exception is not apppearing > with OpenJpa 1.0.1, the one I was earling using. > > openjpa-1.2.1-runknown fatal user error> > org.apache.openjpa.persistence.InvalidStateException: The context has been > closed. The stack trace at which the context was closed is held in the > embedded exception. > FailedObject: java.lang.IllegalStateException > at org.apache.openjpa.kernel.BrokerImpl.assertOpen(BrokerImpl.java:4370) > at > org.apache.openjpa.kernel.BrokerImpl.beginOperation(BrokerImpl.java:1766) > at org.apache.openjpa.kernel.BrokerImpl.isActive(BrokerImpl.java:1736) > at > > org.apache.openjpa.kernel.StateManagerImpl.beforeRead(StateManagerImpl.java:942) > at > > org.apache.openjpa.kernel.StateManagerImpl.accessingField(StateManagerImpl.java:1477) > at > > com.elasticpath.domain.attribute.impl.AttributeImpl.getKey(AttributeImpl.java) > at > > com.elasticpath.domain.attribute.impl.AttributeValueGroupImpl.setStringAttributeValue(AttributeValueGroupImpl.java:123) > at > > com.elasticpath.domain.dataimport.impl.ImportDataTypeProductImpl$10.setStringValue(ImportDataTypeProductImpl.java:563) > at > > com.elasticpath.service.dataimport.impl.AbstractImportJobRunnerImpl.updateContent(AbstractImportJobRunnerImpl.java:676) > at > > com.elasticpath.service.dataimport.impl.AbstractImportJobRunnerImpl.insertAndUpdate(AbstractImportJobRunnerImpl.java:619) > at > > com.elasticpath.service.dataimport.impl.AbstractImportJobRunnerImpl.importOneRow(AbstractImportJobRunnerImpl.java:521) > at > > com.elasticpath.service.dataimport.impl.AbstractImportJobRunnerImpl.run(AbstractImportJobRunnerImpl.java:370) > at java.lang.Thread.run(Thread.java:595) > Caused by: java.lang.IllegalStateException > at org.apache.openjpa.kernel.BrokerImpl.free(BrokerImpl.java:4148) > at org.apache.openjpa.kernel.BrokerImpl.close(BrokerImpl.java:4078) > at > > org.apache.openjpa.kernel.DelegatingBroker.close(DelegatingBroker.java:1298) > at > > org.apache.openjpa.persistence.EntityManagerImpl.close(EntityManagerImpl.java:1106) > at > > org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:508) > at > > org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:908) > at > > org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:701) > at > > org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:621) > at > > org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:311) > at > > org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117) > at > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161) > at > > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:203) > at $Proxy309.runImportJob(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:304) > at > > org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:172) > at > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:139) > at > > org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:70) > at > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161) > at > > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:203) > at $Proxy324.runImportJob(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.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205) > at > > org.springframework.remoting.support.DefaultRemoteInvocationExecutor.invoke(DefaultRemoteInvocationExecutor.java:38) > at > > org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:76) > at > > org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:112) > at > > org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:117) > at > > org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49) > at > > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:839) > at > > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:774) > at > > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:460) > at > > org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:425) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > > com.elasticpath.commons.filter.impl.CachingControlFilter.doFilter(CachingControlFilter.java:163) > at > > com.elasticpath.cmweb.filters.EpFilterToBeanProxy.doFilter(EpFilterToBeanProxy.java:137) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) > at > > org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) > at > > org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166) > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > > org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173) > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > > org.acegisecurity.securechannel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:138) > at > > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) > at > > org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > > com.elasticpath.commons.filter.impl.EncodingFilter.handleFilter(EncodingFilter.java:138) > at > > com.elasticpath.commons.filter.impl.EncodingFilter.doFilter(EncodingFilter.java:81) > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) > at > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) > > Has anyone faced this type of situation with OpenJpa1.2.1 before? > -- > View this message in context: > http://n2.nabble.com/Problem-with-bulk-persist-with-programmatic-transaction-in-OpenJpa-1-2-1-jar-tp3977999p3977999.html > Sent from the OpenJPA Users mailing list archive at Nabble.com. > --00504502d1263068e704781904f3--