Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » JBoss User Help »

[jboss-user] [Beginners Corner] - BMP ejbStore + Hibernate/har/JTA ?

scott.stark@jboss.org

2007-08-08


When I'm trying to save BMP as: public void SampleBean.ejbStore() throws EJBException, RemoteException {
|  try {
|   Session hsession = myHelper.getCurrentSession();
|   Session dynamicSession = hsession.getSession(EntityMode.MAP);
|   dynamicSession.update(_objData);
|  } catch (NamingException e) {
|   e.printStackTrace();
|  }
| }

I have a serious issue - SampleBean.ejbStore doesn't save data to DB, and in the same time, Hibernate is sure that all data is stored.
As you can see from stacktrace, Hibernate stores data into internal cache, but doesn't flush this data into DB. IMHO, it happens because the synchronizer isn't created, which in turn happens because another Hibernate synchronizer exists and executes before SampleBean.ejbStore call.

So, is it a software bug or incorrect configuration of my environment?

System Thread [RMI TCP Connection(2)-192.168.x.x] (Suspended (breakpoint at line 1543 in SampleBean))  
|  SampleBean.ejbStore() line: 1543  
|  NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]  
|  NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39  
|  DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25  
|  Method.invoke(Object, Object...) line: 585  
|  BMPPersistenceManager.invokeEjbStore(EntityEnterpriseContext) line: 498  
|  CachedConnectionInterceptor.invokeEjbStore(EntityEnterpriseContext) line: 294  
|  EntityContainer.invokeEjbStore(EntityEnterpriseContext) line: 735  
|  GlobalTxEntityMap$2.invokeEjbStore(Thread, EntityEnterpriseContext) line: 132  
|  GlobalTxEntityMap$GlobalTxSynchronization.synchronize() line: 281  
|  GlobalTxEntityMap$GlobalTxSynchronization.beforeCompletion() line: 345  
|  TransactionImpl.doBeforeCompletion() line: 1491  
|  TransactionImpl.beforePrepare() line: 1110  
|  TransactionImpl.commit() line: 324  
|  TxInterceptorCMT.endTransaction(Invocation, Transaction, Transaction, int) line: 501  
|  TxInterceptorCMT.runWithTransactions(Invocation) line: 361  
|  TxInterceptorCMT.invoke(Invocation) line: 181  
|  LogInterceptor.invoke(Invocation) line: 205  
|  ProxyFactoryFinderInterceptor.invoke(Invocation) line: 136  
|  StatefulSessionContainer(SessionContainer).internalInvoke(Invocation) line: 648  
|  StatefulSessionContainer(Container).invoke(Invocation) line: 954  
|  GeneratedMethodAccessor87.invoke(Object, Object[]) line: not available  
|  DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25  
|  Method.invoke(Object, Object...) line: 585  
|  ReflectedDispatcher.invoke(Invocation) line: 155  
|  Invocation.dispatch() line: 94  
|  Invocation.invoke() line: 86  
|  XMBean(AbstractMBeanInvoker).invoke(String, Object[], String[]) line: 264  
|  MBeanServerImpl.invoke(ObjectName, String, Object[], String[]) line: 659  
|  JRMPInvoker$MBeanServerAction.invoke(ObjectName, String, Object[], String[]) line: 819  
|  JRMPInvoker.invoke(Invocation) line: 420  
|  NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]  
|  NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39  
|  DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25  
|  Method.invoke(Object, Object...) line: 585  
|  UnicastServerRef2(UnicastServerRef).dispatch(Remote, RemoteCall) line: 294  
|  Transport$1.run() line: 153  
|  AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]  
|  TCPTransport(Transport).serviceCall(RemoteCall) line: 149  
|  TCPTransport.handleMessages(Connection, boolean) line: 466  
|  TCPTransport$ConnectionHandler.run() line: 707  
|  Thread.run() line: 595

org.jboss.tm.TransactionImpl.doBeforeCompletion() line: 1491
|
| this  TransactionImpl (id=95)  
|  cause  null  
|  done  false  
|  gid  GlobalId (id=122)  
|  heuristicCode  4  
|  lastBranchId  1  
|  lastResource  TransactionImpl$Resource (id=126)  
|  lockDepth  0  
|  locked  null  
|  resources  ArrayList<E> (id=128)  
|  resourcesEnded  false  
|  start  1186562997765  
|  status  0  
|  sync  Synchronization[12] (id=141)  
|    [0]  StatefulSessionInstanceInterceptor$InstanceSynchronization (id=5356)  
|    [1]  CacheSynchronization (id=5349)  
|      ctx  SessionImpl (id=5368)  
|      hibernateTransaction  null  
|      jdbcContext  JDBCContext (id=5370)  
|      transaction  TransactionImpl (id=95)  
|    [2]  JTASessionContext$CleanupSynch (id=5350)  
|    [3]  TransactionSynchronizer (id=5351)  
|    [4]  EntitySynchronizationInterceptor$InstanceSynchronization (id=5352)  
|    [5]  GlobalTxEntityMap$GlobalTxSynchronization (id=94)  
|      instances  ArrayList<E> (id=5384)  
|      synchronizing  true  
|      this$0  GlobalTxEntityMap (id=5398)  
|      tx  TransactionImpl (id=95)  
|    [6]  EntitySynchronizationInterceptor$InstanceSynchronization (id=5353)  
|    [7]  EntitySynchronizationInterceptor$InstanceSynchronization (id=5354)  
|    [8]  EntitySynchronizationInterceptor$InstanceSynchronization (id=5355)  
|    [9]  null  
|    [10]  null  
|    [11]  null  
|  syncAllocSize  12  
|  syncCount  9  
|  threads  HashSet<E> (id=145)  
|  timeout  TimeoutPriorityQueueImpl$TimeoutExtImpl (id=137)  
|  timeoutPeriod  300000  
|  trace  true  
|  transactionLocalMap  Collections$SynchronizedMap<K,V> (id=150)  
|  work  null  
|  xid  XidImpl (id=152)  
| i  5  
|

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071894#4071894

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071894
_______________________________________________
jboss-user mailing list
jboss-user@(protected)
https://lists.jboss.org/mailman/listinfo/jboss-user
©2008 junlu.com - Jax Systems, LLC, U.S.A.