diff --git a/boot/common-framework/src/main/java/com/klaro/acquirecore/framework/DefaultTxService.java b/boot/common-framework/src/main/java/com/klaro/acquirecore/framework/DefaultTxService.java new file mode 100644 index 0000000..dc907ee --- /dev/null +++ b/boot/common-framework/src/main/java/com/klaro/acquirecore/framework/DefaultTxService.java @@ -0,0 +1,48 @@ +package com.klaro.acquirecore.framework; + +import org.springframework.stereotype.Service; + +/** + * Default implementation of TxService. + * Provides base transaction service functionality. + */ +@Service +public class DefaultTxService implements TxService { + + private final String serviceName; + private final TxTemplate txTemplate; + + public DefaultTxService() { + this("default"); + } + + public DefaultTxService(String serviceName) { + this.serviceName = serviceName; + this.txTemplate = new TxTemplate(); + } + + @Override + public String getServiceName() { + return serviceName; + } + + @Override + public TxResult execute(TxServiceRegistry.TxOperation operation) { + return txTemplate.execute(serviceName, operation); + } + + @Override + public TxContext beginTransaction() { + return txTemplate.txBegin(serviceName); + } + + @Override + public TxResult commit(TxContext context) { + return txTemplate.txCommit(context); + } + + @Override + public TxResult rollback(TxContext context, String reason) { + return txTemplate.txRollback(context, reason); + } +}