[
https://issues.apache.org/jira/browse/TOMEE-3781?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17478530#comment-17478530
]
Jean-Louis Monteiro commented on TOMEE-3781:
--------------------------------------------
Do you have a small github project where you can reproduce this?
> Tomee JTA rollback Failed
> -------------------------
>
> Key: TOMEE-3781
> URL: https://issues.apache.org/jira/browse/TOMEE-3781
> Project: TomEE
> Issue Type: Wish
> Components: TomEE Build
> Affects Versions: 8.0.6
> Environment: tomee 8.0.6,jdk1.8
> Reporter: zhi.li
> Priority: Major
>
> Hello,recently I try to change an old javaee application's webserver.The
> Application is deploy to OC4J and JDK1.6.Now we want to upgrade the JDK
> Version to 1.8,but oc4j don't support jdk 1.8.So wo had tried to change to
> tomcat.But we found that tomcat don't support JTA.Then I found tomee.But when
> i test the userTranscation.I found that the trans can't rollback.I feel that
> Tomee server hold my failed trans, the database(ORACLE) can't find these
> failed data.However i try to redo this trans in webpage,but it failed
> because these data already exist in database.but we query these data in
> database again,wo don't find.When i stop the tomee server,these data can be
> found in database.
> In tomee.xml,i deploy the database config just like this:
>
> {code:java}
> <Resource id="jdbc/DataSource" type="DataSource">
> jdbcDriver = oracle.jdbc.xa.client.OracleXADataSource
> jtaManaged = true
> initialPoolSize=30
> maxPoolSize=50
> jdbcUrl =
> password =
> userName =
> </Resource>
> {code}
> and in java application,i use UserTranscation like this:
> {code:java}
> //Get UserTrans
> public static UserTransaction getUserTransaction() throws Exception {
> try {
> InitialContext context = new InitialContext();
> return (UserTransaction) context
> .lookup("java:comp/UserTransaction");
> } catch (Exception e) {
> throw new Exception("Error : lookup UserTransaction -- "
> + e.getMessage());
> }
> }
> //get conn
> conn = ServiceBean.getConnection();
> //...Query Some data use conn
> UserTransaction trans = null;
> try {
> long startTime = System.currentTimeMillis();
> trans = ServiceBean.getUserTransaction();
> log.writeLog(6,
> "transBegin[Start Time:" + new java.util.Date(startTime) +
> "]");
> trans.begin();
> //...update to database
> trans.commit();
> }catch(Exception ex){
> trans.rollback();
> }
> {code}
> I debug these codes in Idea,and rollback is excuted.Please help to solve the
> problem.Thanks very much.
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)