I have  an application with the  need to  handle  the transactions myself.

  | this  means      em.begin
  |                        em.query
  |                        em.commit   or rollback 
  | 
  |                    when I Want it without 
  |                    interference  of any  CONTAINER  transactions
  |                   
  | 

       I agree there are situations, where they are  usefull
       BUT  I NEED THE  CONTROLL  in MY CASE

  | A)   I switched  of  Seam Transaction controll as is explained in the manual
  | B)
  |      I DID experiment  with 
  |    //@TransactionManagement(TransactionManagementType.BEAN)    //instead  
of Container 
  | @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)  //suspend  
all active  container transactions
  | 

 persistence jta 

  |    <!--      <property name="hibernate.transaction.factory_class" 
value="org.hibernate.transaction.JTATransactionFactory"/>   -->
  |          <property name="hibernate.transaction.manager_lookup_class" 
value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
  | 



  |  <core:init debug="@debug@" jndi-pattern="@jndiPattern@"  
transaction-management-enabled="false" />
  |                   conversation-timeout="12000000"    -->     
  |    <core:manager concurrent-request-timeout="5000000" 
  |                  conversation-timeout="200000000" 
  |                  conversation-id-parameter="cid"/>
  |               
  |    <persistence:managed-persistence-context name="entityManager"
  |                                      auto-create="true"
  |                       
persistence-unit-jndi-name="java:/httpscanEntityManagerFactory"/>
  | 
 


I still get  into  a lot of trouble

or at     sesion.begin

  | Begin starting transaction failed TransactionException err: Could not 
register synchronization for container transaction
  | 

I do not want to use  Container managed transactions  since  I want it to be 
controlled  by myself




  |         org.hibernate.Transaction txn=null;//
  |         boolean   rollback=false;
  | //      javax.persistence.EntityManagerFactory Ef=
  |         //reset  timeout 
  |     //    if (EM!=null) em=EM;
  |         try { env="Timeout";
  |               
org.jboss.seam.transaction.Transaction.instance().setTransactionTimeout(60*60*10000000);
  |             } catch (Exception er)
  |                                {errcod=er;
  |                                 String errmsg=er.getClass().getSimpleName() 
+" err: "+ er.getMessage();
  |                                 log.error(env+" Modifying timeout failed "+ 
errmsg);
  |                                }
  |             // seam timeout          
  |         try { env ="seam timeout";                   
  |         
org.jboss.seam.transaction.Transaction.instance().setTransactionTimeout(60*60*10000000);}
 catch (Exception er)
  |                     {errcod=er;
  |                      String errmsg=er.getClass().getSimpleName() +" err: "+ 
er.getMessage();
  |                  log.error(env+" Modifying Seam  timeout failed "+ errmsg);
  |                  }
  | 


I even tried  to setup a separate entityManager from JNDI

but hten the queries do not relate tot the transactions


Has anyone done this simple operation ?

Is it possible to disable  the container transaction functionality 
and do the  BEGIN-COMMIT-Rollback independent
of  container optimisations 



all help is welcome, i'm getting desperate


or  it complains ther are  NO transactions







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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4122691
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to