[jboss-user] [EJB 3.0] - Update record problems with EJB3
bcorbett8769
do-not-reply at jboss.com
Tue Feb 6 17:58:42 EST 2007
I am having quite a few problems updating a record in a webapp using
EJB3. I am using JBoss 4.0.5 GA with the EJB3 option installed. The database I am connecting to runs on an ISeries. I can retrieve data lists fine, but I can't seem to change the record. Yes, I do know that my file is journaled.
I would very much appreciate, if someone could spot something wrong,
because I am clueless.
| @Stateless
| @Remote(MenuUserController.class)
| public class MenuUserControllerBean implements MenuUserController {
| @PersistenceContext(unitName="menu400")
| EntityManager entityManager;
|
|
| /* (non-Javadoc)
| * @see usermanager.menu400.sessionremote.MenuUserController#updateUser(usermanager.menu400.util.MenuUserDetails)
| */
| @TransactionAttribute(TransactionAttributeType.REQUIRED)
| public void updateUser(MenuUserDetails rec) {
| M4puser req = entityManager.find(M4puser.class, rec.getUser());
| if (req != null) {
|
| if(!rec.getUser().equals(req.getUser().trim())) {
| req.setUser(rec.getUser());
| }
| if (!rec.getRstcpb().equals(req.getRstcpb().trim())) {
| req.setRstcpb(rec.getRstcpb());
| }
| if (!rec.getUserpw().equals(req.getUserpw().trim())) {
| req.setUserpw(rec.getUserpw());
| }
| if (!rec.getUsrsts().equals(req.getUsrsts().trim())) {
| req.setUsrsts(rec.getUsrsts());
| }
| if (!rec.getUname().equals(req.getUname().trim())) {
| req.setUname(rec.getUname());
| }
|
| //entityManager.flush();
| }
| }
| }
|
|
I get the following exception:
| 2007-02-06 16:40:29,403 DEBUG [org.hibernate.impl.SessionImpl] opened session at timestamp: 4795603474034688
| 2007-02-06 16:40:29,403 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] Looking for a JTA transaction to join
| 2007-02-06 16:40:29,403 DEBUG [org.hibernate.jdbc.JDBCContext] successfully registered Synchronization
| 2007-02-06 16:40:29,403 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] Looking for a JTA transaction to join
| 2007-02-06 16:40:29,403 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] Transaction already joined
| 2007-02-06 16:40:29,403 DEBUG [org.hibernate.loader.Loader] loading entity: [usermanager.menu400.entities.M4puser#CHCOPY]
| 2007-02-06 16:40:29,403 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
| 2007-02-06 16:40:29,403 DEBUG [org.hibernate.jdbc.ConnectionManager] opening JDBC connection
| 2007-02-06 16:40:29,403 DEBUG [org.hibernate.SQL] select m4puser0_.user as user2_0_, m4puser0_.umnsty as umnsty2_0_, m4puser0_.brkmq as brkmq2_0_, m4puser0_.atnpgm as atnpgm2_0_, m4puser0_.mnulvl as mnulvl2_0_, m4puser0_.grpmnu as grpmnu2_0_, m4puser0_.setpgm as setpgm2_0_, m4puser0_.usrf3 as usrf8_2_0_, m4puser0_.sysreq as sysreq2_0_, m4puser0_.atnlib as atnlib2_0_, m4puser0_.rstcpb as rstcpb2_0_, m4puser0_.rsttrm as rsttrm2_0_, m4puser0_.menu as menu2_0_, m4puser0_.userpw as userpw2_0_, m4puser0_.usrsts as usrsts2_0_, m4puser0_.uname as uname2_0_, m4puser0_.setlib as setlib2_0_, m4puser0_.usrnpw as usrnpw2_0_, m4puser0_.acctcd as acctcd2_0_, m4puser0_.brktrm as brktrm2_0_, m4puser0_.usrssn as usrssn2_0_, m4puser0_.hlplvl as hlplvl2_0_, m4puser0_.usrnpd as usrnpd2_0_, m4puser0_.brkmql as brkmql2_0_, m4puser0_.userpd as userpd2_0_ from menu400tdi.M4PUSER m4puser0_ where m4puser0_.user=?
| 2007-02-06 16:40:29,575 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
| 2007-02-06 16:40:29,575 DEBUG [org.hibernate.loader.Loader] result row: EntityKey[usermanager.menu400.entities.M4puser#CHCOPY]
| 2007-02-06 16:40:29,575 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
| 2007-02-06 16:40:29,575 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
| 2007-02-06 16:40:29,591 DEBUG [org.hibernate.jdbc.ConnectionManager] aggressively releasing JDBC connection
| 2007-02-06 16:40:29,591 DEBUG [org.hibernate.jdbc.ConnectionManager] releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
| 2007-02-06 16:40:29,591 DEBUG [org.hibernate.engine.TwoPhaseLoad] resolving associations for [usermanager.menu400.entities.M4puser#CHCOPY]
| 2007-02-06 16:40:29,591 DEBUG [org.hibernate.engine.TwoPhaseLoad] done materializing entity [usermanager.menu400.entities.M4puser#CHCOPY]
| 2007-02-06 16:40:29,591 DEBUG [org.hibernate.engine.StatefulPersistenceContext] initializing non-lazy collections
| 2007-02-06 16:40:29,591 DEBUG [org.hibernate.loader.Loader] done entity load
| 2007-02-06 16:40:29,591 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] processing flush-time cascades
| 2007-02-06 16:40:29,591 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] dirty checking collections
| 2007-02-06 16:40:29,591 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 insertions, 1 updates, 0 deletions to 1 objects
| 2007-02-06 16:40:29,591 DEBUG [org.hibernate.event.def.AbstractFlushingEventListener] Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
| 2007-02-06 16:40:29,591 DEBUG [org.hibernate.pretty.Printer] listing entities:
| 2007-02-06 16:40:29,591 DEBUG [org.hibernate.pretty.Printer] usermanager.menu400.entities.M4puser{usrssn=0, usrsts=A, sysreq=Y, setlib= , mnulvl= , acctcd= , brkmql= , usrnpw= , setpgm= , menu=*NONE , usrnpd=0, userpw=CHCOPY , userpd=0, atnpgm= , user=CHCOPY, rsttrm=Y, rstcpb=Y, uname=Copy Shooter Profile - CH - Test, brktrm=Y, grpmnu=N, atnlib= , usrf3=Y, umnsty=F, brkmq= , hlplvl= }
| 2007-02-06 16:40:29,606 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
| 2007-02-06 16:40:29,606 DEBUG [org.hibernate.jdbc.ConnectionManager] opening JDBC connection
| 2007-02-06 16:40:29,606 DEBUG [org.hibernate.SQL] update menu400tdi.M4PUSER set umnsty=?, brkmq=?, atnpgm=?, mnulvl=?, grpmnu=?, setpgm=?, usrf3=?, sysreq=?, atnlib=?, rstcpb=?, rsttrm=?, menu=?, userpw=?, usrsts=?, uname=?, setlib=?, usrnpw=?, acctcd=?, brktrm=?, usrssn=?, hlplvl=?, usrnpd=?, brkmql=?, userpd=? where user=?
| 2007-02-06 16:40:29,778 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] Could not synchronize database state with session
| org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
| at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:61)
| at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:46)
| at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:24)
| at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2338)
| at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2242)
| at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2542)
| at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
| at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
| at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
| at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
| at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
| at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
| at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
| at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
| at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:515)
| at org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionImpl.java:1491)
| at org.jboss.tm.TransactionImpl.beforePrepare(TransactionImpl.java:1110)
| at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:324)
| at org.jboss.tm.TxManager.commit(TxManager.java:240)
| at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:175)
| at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
| at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
| at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:131)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:263)
| at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:58)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
| at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
| at $Proxy83.updateUser(Unknown Source)
| at usermanager.web.UserControllerBean.updateUserAction(UserControllerBean.java:60)
| 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.sun.el.parser.AstValue.invoke(AstValue.java:130)
| at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
| at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
| at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
| at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63)
| at javax.faces.component.UICommand.broadcast(UICommand.java:106)
| at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:94)
| at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:168)
| at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:343)
| at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
| at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.renderCycle(BlockingServlet.java:438)
| at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.receiveUpdates(BlockingServlet.java:426)
| at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:269)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| 2007-02-06 16:40:29,778 DEBUG [org.hibernate.jdbc.ConnectionManager] aggressively releasing JDBC connection
| 2007-02-06 16:40:29,778 DEBUG [org.hibernate.jdbc.ConnectionManager] releasing JDBC connection [ (open PreparedStatements: 1, globally: 1) (open ResultSets: 0, globally: 0)]
| 2007-02-06 16:40:29,778 DEBUG [org.hibernate.ejb.AbstractEntityManagerImpl] mark transaction for rollback
| 2007-02-06 16:40:29,825 DEBUG [org.jboss.ejb3.entity.ManagedEntityManagerFactory] ************** closing entity managersession **************
|
|
Brian
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4012183#4012183
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4012183
More information about the jboss-user
mailing list