How to tackle JBossRollbackException
yogendrarampuria Jun 2, 2006 4:30 AMHi everyone I am trying to use JSF+EJB3 for my project at work. I have this problem with commiting values. Below is the calling and processing code and stacktrace of problem.
I am using JBoss4.0.4GA and Mysql 3.23
------ EJB Code
public class EmployeeBean implements EmployeeEJBLocal,EmployeeEJBRemote {
private static Category log =
Logger.getLogger(EmployeeBean.class.toString());
@PersistenceContext(name="isehisem")
private EntityManager em;
/**
*This is used to add an Employee to DataBase
*@param emp Employee
*/
public void addEmployee(EmployeeData emp) {
try {
Employee employee=new Employee(emp);
//em.persist(emp.getPerson());
log.debug("Received Call to Add Employee"+emp.getDesignation());
em.persist(employee);
} catch (Exception e) {
throw new EJBException(e);
}
}
----- Bean Invoking Code
public String submit() {
EmployeeData emp=new EmployeeData();
DepartmentData dep=new DepartmentData();
dep.setDescription(this.getDescription());
//dep.setHod()
dep.setName(this.getName());
emp.setDepartment(dep);
emp.setDesignation(this.getDesignation());
//emp.setJoinedOn(this.getJoinedOn());
/****Person Details********/
PersonData per=new PersonData();
/****Contact Details********/
ContactData mail_contact=new ContactData();
ContactData phone_contact=new ContactData();
ContactData mobile_contact=new ContactData();
Collection contact_collection=new ArrayList();
contact_collection.add(mail_contact);
contact_collection.add(phone_contact);
contact_collection.add(mobile_contact);
mail_contact.setContactType(this.getMailtype());
mail_contact.setValue(this.getMail());
mail_contact.setDescription(this.getMailcomment());
phone_contact.setContactType(this.getPhonetype());
phone_contact.setValue(this.getAreacode()+"-"+this.getPhone());
phone_contact.setDescription(this.getPhonecomment());
mobile_contact.setContactType(this.getMobiletype());
mobile_contact.setValue(this.getCountrycode()+"-"+this.getMobile());
mobile_contact.setDescription(this.getMobilecomment());
/****Address Details********/
AddressData address=new AddressData();
Collection collection_address=new ArrayList();
collection_address.add(address);
address.setAddressLine1(this.getAddln1());
address.setAddressLine2(this.getAddln2());
address.setArea(this.getArea());
address.setCity(this.getCity());
address.setCountry(this.getCountry());
address.setPincode(this.getPincode());
address.setState(this.getState());
/****Person Details********/
per.setDob(this.getDob());
per.setContacts(contact_collection);
per.setAddresses(collection_address);
//per.setFather()
//per.setMother()
per.setFirstname(this.getFname());
per.setMiddlename(this.getMname());
per.setLastname(this.getLname());
per.setGender(this.getGender());
per.setTitle(this.getTitle());
/***Employee Details***/
per.setContacts(contact_collection);
emp.setStatus(this.getStatus());
emp.setPerson(per);
emp.setDepartment(dep);
try{
ServiceLocator.getEmployeeBean().addEmployee(emp);
}catch(Exception e){
e.printStackTrace();
}
log.debug("Got call for submit ");
return "success";
}
----- Exception Stack Trace
0:11:47,940 ERROR STDERRexternal link java.lang.RuntimeException: org.jboss.tm.JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImplFormatId=257, GlobalId=mis2/14, BranchQual=, localId=14external link status=STATUS_NO_TRANSACTION; - nested throwable: (javax.persistence.PersistenceException: org.hibernate.TransientObjectException: com.ise.his.entity.Person) 10:11:47,950 ERROR STDERRexternal link at org.jboss.aspects.tx.TxPolicy.handleEndTransactionException(TxPolicy.java:198) 10:11:47,950 ERROR STDERRexternal link at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:180) 10:11:47,950 ERROR STDERRexternal link at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87) 10:11:47,950 ERROR STDERRexternal link at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197) 10:11:47,951 ERROR STDERRexternal link at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 10:11:47,951 ERROR STDERRexternal link at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) 10:11:47,951 ERROR STDERRexternal link at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 10:11:47,951 ERROR STDERRexternal link at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62) 10:11:47,951 ERROR STDERRexternal link at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 10:11:47,951 ERROR STDERRexternal link at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78) 10:11:47,951 ERROR STDERRexternal link at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 10:11:47,951 ERROR STDERRexternal link at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47) 10:11:47,951 ERROR STDERRexternal link at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 10:11:47,951 ERROR STDERRexternal link at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) 10:11:47,952 ERROR STDERRexternal link at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 10:11:47,952 ERROR STDERRexternal link at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:225) 10:11:47,952 ERROR STDERRexternal link at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:55) 10:11:47,952 ERROR STDERRexternal link at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 10:11:47,952 ERROR STDERRexternal link at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102) 10:11:47,952 ERROR STDERRexternal link at $Proxy100.addEmployee(Unknown Source) 10:11:47,952 ERROR STDERRexternal link at com.ise.his.web.pages.doctor.Doctor.submit(Doctor.java:473) 10:11:47,952 ERROR STDERRexternal link at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 10:11:47,952 ERROR STDERRexternal link at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 10:11:47,955 ERROR STDERRexternal link at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 10:11:47,955 ERROR STDERRexternal link at java.lang.reflect.Method.invoke(Method.java:585) 10:11:47,955 ERROR STDERRexternal link at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129) 10:11:47,955 ERROR STDERRexternal link at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63) 10:11:47,955 ERROR STDERRexternal link at javax.faces.component.UICommand.broadcast(UICommand.java:106) 10:11:47,955 ERROR STDERRexternal link at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:94) 10:11:47,955 ERROR STDERRexternal link at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:168) 10:11:47,955 ERROR STDERRexternal link at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:343) 10:11:47,956 ERROR STDERRexternal link at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86) 10:11:47,956 ERROR STDERRexternal link at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137) 10:11:47,956 ERROR STDERRexternal link at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) 10:11:47,956 ERROR STDERRexternal link at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 10:11:47,956 ERROR STDERRexternal link at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 10:11:47,956 ERROR STDERRexternal link at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 10:11:47,956 ERROR STDERRexternal link at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 10:11:47,956 ERROR STDERRexternal link at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 10:11:47,956 ERROR STDERRexternal link at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 10:11:47,957 ERROR STDERRexternal link at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) 10:11:47,957 ERROR STDERRexternal link at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) 10:11:47,957 ERROR STDERRexternal link at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 10:11:47,957 ERROR STDERRexternal link at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 10:11:47,957 ERROR STDERRexternal link at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 10:11:47,957 ERROR STDERRexternal link at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 10:11:47,957 ERROR STDERRexternal link at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 10:11:47,957 ERROR STDERRexternal link at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 10:11:47,957 ERROR STDERRexternal link at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) 10:11:47,958 ERROR STDERRexternal link at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 10:11:47,958 ERROR STDERRexternal link at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) 10:11:47,958 ERROR STDERRexternal link at java.lang.Thread.run(Thread.java:595) 10:11:47,959 ERROR STDERRexternal link Caused by: org.jboss.tm.JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImplFormatId=257, GlobalId=mis2/14, BranchQual=, localId=14external link status=STATUS_NO_TRANSACTION; - nested throwable: (javax.persistence.PersistenceException: org.hibernate.TransientObjectException: com.ise.his.entity.Person) 10:11:47,959 ERROR STDERRexternal link at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:372) 10:11:47,959 ERROR STDERRexternal link at org.jboss.tm.TxManager.commit(TxManager.java:240) 10:11:47,959 ERROR STDERRexternal link at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:175) 10:11:47,959 ERROR STDERRexternal link ... 50 more 10:11:47,960 ERROR STDERRexternal link Caused by: javax.persistence.PersistenceException: org.hibernate.TransientObjectException: com.ise.his.entity.Person 10:11:48,033 ERROR STDERRexternal link at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:567) 10:11:48,033 ERROR STDERRexternal link at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:484) 10:11:48,033 ERROR STDERRexternal link at org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionImpl.java:1491) 10:11:48,034 ERROR STDERRexternal link at org.jboss.tm.TransactionImpl.beforePrepare(TransactionImpl.java:1110) 10:11:48,034 ERROR STDERRexternal link at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:324) 10:11:48,034 ERROR STDERRexternal link ... 52 more 10:11:48,036 ERROR STDERRexternal link Caused by: org.hibernate.TransientObjectException: com.ise.his.entity.Person 10:11:48,036 ERROR STDERRexternal link at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:216) 10:11:48,036 ERROR STDERRexternal link at org.hibernate.type.EntityType.getIdentifier(EntityType.java:108) 10:11:48,036 ERROR STDERRexternal link at org.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:221) 10:11:48,036 ERROR STDERRexternal link at org.hibernate.type.TypeFactory.findDirty(TypeFactory.java:476) 10:11:48,036 ERROR STDERRexternal link at org.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:2900) 10:11:48,055 ERROR STDERRexternal link at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:474) 10:11:48,055 ERROR STDERRexternal link at org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:197) 10:11:48,055 ERROR STDERRexternal link at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:120) 10:11:48,055 ERROR STDERRexternal link at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:195) 10:11:48,056 ERROR STDERRexternal link at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76) 10:11:48,056 ERROR STDERRexternal link at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26) 10:11:48,060 ERROR STDERRexternal link at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:993) 10:11:48,060 ERROR STDERRexternal link at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:340) 10:11:48,061 ERROR STDERRexternal link at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:475) 10:11:48,061 ERROR STDERRexternal link ... 55 more
-----------------------------------------
Thanks in advance.