package com.codingapi.tx.control;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.codingapi.tx.aop.bean.TxTransactionLocal;
|
import com.codingapi.tx.framework.utils.SocketManager;
|
import com.codingapi.tx.model.Request;
|
import org.apache.commons.lang.StringUtils;
|
|
/**
|
* create by lorne on 2017/12/5
|
*/
|
public class LCNTransactionAspectSupport {
|
|
|
|
private static LCNTransactionAspectSupport instance = null;
|
|
private LCNTransactionAspectSupport(){}
|
|
public static LCNTransactionAspectSupport currentTransactionStatus() {
|
if (instance == null) {
|
synchronized (LCNTransactionAspectSupport.class) {
|
if(instance==null){
|
instance = new LCNTransactionAspectSupport();
|
}
|
}
|
}
|
return instance;
|
}
|
|
|
public boolean setRollbackOnly(){
|
TxTransactionLocal txTransactionLocal = TxTransactionLocal.current();
|
if(txTransactionLocal==null){
|
return false;
|
}
|
|
if(StringUtils.isEmpty(txTransactionLocal.getGroupId())){
|
return false;
|
}
|
|
JSONObject jsonObject = new JSONObject();
|
jsonObject.put("g", txTransactionLocal.getGroupId());
|
Request request = new Request("rg", jsonObject.toString());
|
String json = SocketManager.getInstance().sendMsg(request);
|
try {
|
return Integer.parseInt(json)==1;
|
}catch (Exception e){
|
return false;
|
}
|
}
|
|
}
|