Bug 803707 - Generating invoice in Sportsclub example throws exception
Summary: Generating invoice in Sportsclub example throws exception
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: JBoss Enterprise WFK Platform 2
Classification: Retired
Component: Spring, Examples
Version: 2.0.0.ER3
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 2.0.0.ER8
Assignee: Marius Bogoevici
QA Contact: Tomas Repel
URL:
Whiteboard: sportsclub
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-03-15 13:23 UTC by Tomas Repel
Modified: 2013-03-04 01:00 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-06-22 11:10:57 UTC
Type: Bug


Attachments (Terms of Use)

Description Tomas Repel 2012-03-15 13:23:16 UTC
Description of problem:

Generating invoice throws exception. It only occurs when deploying sporsclub-jpa-ear

Version-Release number of selected component (if applicable):

* WFK2 Beta1
* sportsclub example, all variants: spring-2.5, spring-3.0, spring-3.1
* EAP6 Beta

How reproducible:

Always - but you have to follow the steps to reproduce precisely.

Steps to Reproduce:
1. prepare environment, build sportsclub example, spring-3.x variant
2. deploy JPA variant (ear within sportsclub-jpa-ear module)
2. go to invoices, search for 'Vetinari' and click on 'Detail' link
3. click on 'Create Invoice' button
  
Actual results:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is javax.ejb.EJBTransactionRolledbackException: Transaction rolled back
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:681)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:89)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
root cause

javax.ejb.EJBTransactionRolledbackException: Transaction rolled back
	org.jboss.as.ejb3.tx.CMTTxInterceptor.handleEndTransactionException(CMTTxInterceptor.java:115)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:95)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:232)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
	org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)
	org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:173)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
	org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72)
	org.jboss.spring.samples.sportsclub.invoicing.services.BillingService$$$view1.generateInvoice(Unknown Source)
	org.jboss.snowdrop.samples.sportsclub.springmvc.AccountController.generateInvoice(AccountController.java:102)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:616)
	org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
	org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
	org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:89)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
root cause

javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction.
	com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1177)
	com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117)
	com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:92)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:232)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
	org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)
	org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:173)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
	org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72)
	org.jboss.spring.samples.sportsclub.invoicing.services.BillingService$$$view1.generateInvoice(Unknown Source)
	org.jboss.snowdrop.samples.sportsclub.springmvc.AccountController.generateInvoice(AccountController.java:102)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:616)
	org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
	org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
	org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:89)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
root cause

javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: Unique index or primary key violation: "PRIMARY_KEY_9 ON PUBLIC.INVOICE(ID)"; SQL statement:
insert into Invoice (account_id, amount, endDate, startDate, issueDate, id) values (?, ?, ?, ?, ?, ?) [23505-161]
	org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1360)
	org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1288)
	org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1294)
	org.hibernate.ejb.AbstractEntityManagerImpl$CallbackExceptionMapperImpl.mapManagedFlushFailure(AbstractEntityManagerImpl.java:1480)
	org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:109)
	org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:53)
	com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
	com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:273)
	com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:93)
	com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:164)
	com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165)
	com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117)
	com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:92)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:232)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
	org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)
	org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:173)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
	org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72)
	org.jboss.spring.samples.sportsclub.invoicing.services.BillingService$$$view1.generateInvoice(Unknown Source)
	org.jboss.snowdrop.samples.sportsclub.springmvc.AccountController.generateInvoice(AccountController.java:102)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:616)
	org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
	org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
	org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:89)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
root cause

org.hibernate.exception.ConstraintViolationException: Unique index or primary key violation: "PRIMARY_KEY_9 ON PUBLIC.INVOICE(ID)"; SQL statement:
insert into Invoice (account_id, amount, endDate, startDate, issueDate, id) values (?, ?, ?, ?, ?, ?) [23505-161]
	org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:128)
	org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
	org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
	org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)
	org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:129)
	org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
	$Proxy94.executeUpdate(Unknown Source)
	org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:56)
	org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2849)
	org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3290)
	org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88)
	org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362)
	org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354)
	org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:275)
	org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:326)
	org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
	org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1104)
	org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:315)
	org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:104)
	org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:53)
	com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
	com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:273)
	com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:93)
	com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:164)
	com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165)
	com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117)
	com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:92)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:232)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
	org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)
	org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:173)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
	org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72)
	org.jboss.spring.samples.sportsclub.invoicing.services.BillingService$$$view1.generateInvoice(Unknown Source)
	org.jboss.snowdrop.samples.sportsclub.springmvc.AccountController.generateInvoice(AccountController.java:102)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:616)
	org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
	org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
	org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:89)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
root cause

org.h2.jdbc.JdbcSQLException: Unique index or primary key violation: "PRIMARY_KEY_9 ON PUBLIC.INVOICE(ID)"; SQL statement:
insert into Invoice (account_id, amount, endDate, startDate, issueDate, id) values (?, ?, ?, ?, ?, ?) [23505-161]
	org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
	org.h2.message.DbException.get(DbException.java:169)
	org.h2.message.DbException.get(DbException.java:146)
	org.h2.index.BaseIndex.getDuplicateKeyException(BaseIndex.java:81)
	org.h2.index.TreeIndex.add(TreeIndex.java:62)
	org.h2.table.RegularTable.addRow(RegularTable.java:121)
	org.h2.command.dml.Insert.insertRows(Insert.java:124)
	org.h2.command.dml.Insert.update(Insert.java:84)
	org.h2.command.CommandContainer.update(CommandContainer.java:73)
	org.h2.command.Command.executeUpdate(Command.java:219)
	org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:143)
	org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:129)
	org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:493)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:616)
	org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122)
	org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
	$Proxy94.executeUpdate(Unknown Source)
	org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:56)
	org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2849)
	org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3290)
	org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88)
	org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362)
	org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354)
	org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:275)
	org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:326)
	org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
	org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1104)
	org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:315)
	org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:104)
	org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:53)
	com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
	com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:273)
	com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:93)
	com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:164)
	com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1165)
	com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:117)
	com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:92)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:232)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304)
	org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
	org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)
	org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:173)
	org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
	org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
	org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72)
	org.jboss.spring.samples.sportsclub.invoicing.services.BillingService$$$view1.generateInvoice(Unknown Source)
	org.jboss.snowdrop.samples.sportsclub.springmvc.AccountController.generateInvoice(AccountController.java:102)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:616)
	org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
	org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
	org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
	org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:89)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
	org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)


Expected results:

It passes.

Additional info:

If you stuck on the page with above stacktrace, then press back button of browser and click on 'Create Invoice' button again, everything works fine.

Comment 1 Tomas Repel 2012-03-20 08:22:59 UTC
I think these "primary key violation" errors are caused by hibernate_sequence, that starts with 1. The database is pre-filled with some content (see import.sql), thus when application tries to save something to table that has some data already, hibernate_sequence next value for primary key can collide with this data.

Comment 2 Tomas Repel 2012-06-13 07:27:13 UTC
Verified in ER8.

Comment 3 Karel Piwko 2012-06-22 11:10:57 UTC
These example related issues are fixed in WFK 2.0.0. Documenting them as fixed issues is not required.


Note You need to log in before you can comment on or make changes to this bug.