What is the 'best' way to do distributed transactions across multiple databases using Spring and Hibernate

后端 未结 5 1940
没有蜡笔的小新
没有蜡笔的小新 2020-11-28 04:31

I have an application - more like a utility - that sits in a corner and updates two different databases periodically.

It is a little standalone app that has been bu

5条回答
  •  星月不相逢
    2020-11-28 05:11

    Setup a transaction manager in your context. Spring docs have examples, and it is very simple. Then when you want to execute a transaction:

    try { 
        TransactionTemplate tt = new TransactionTemplate(txManager);
    
        tt.execute(new TransactionCallbackWithoutResult(){
        protected void doInTransactionWithoutResult(
                TransactionStatus status) {
            updateDb1();
            updateDb2();
        }
    } catch (TransactionException ex) {
        // handle 
    }
    

    For more examples, and information perhaps look at this: XA transactions using Spring

提交回复
热议问题