diff --git a/src/main/java/com/eactive/eai/adapter/http/client/HttpClient5AdapterServiceSupport.java b/src/main/java/com/eactive/eai/adapter/http/client/HttpClient5AdapterServiceSupport.java index b81600f..64e0e6d 100644 --- a/src/main/java/com/eactive/eai/adapter/http/client/HttpClient5AdapterServiceSupport.java +++ b/src/main/java/com/eactive/eai/adapter/http/client/HttpClient5AdapterServiceSupport.java @@ -40,6 +40,7 @@ import com.eactive.eai.adapter.AdapterManager; import com.eactive.eai.adapter.Keys; import com.eactive.eai.adapter.http.secure.HttpClient5SSLContextFactory; import com.eactive.eai.common.TransactionContextKeys; +import com.eactive.eai.common.property.PropManager; import com.eactive.eai.common.util.HttpAdapterExtraLogUtil; import com.eactive.eai.common.util.Logger; import com.eactive.eai.httpouttlsinfo.HttpOutTlsInfoVO; @@ -88,6 +89,13 @@ public abstract class HttpClient5AdapterServiceSupport implements HttpClientAdap if (!StringUtils.isEmpty(url2grp)) { url = url2grp; } + + boolean isDrMode = Boolean.valueOf(PropManager.getInstance().getProperty(DR_PROP_GROUP, DR_PROP_KEY, "false")); + + if (isDrMode) { + url = prop.getProperty(DR_URL); + } + method = prop.getProperty(METHOD); parameterName = prop.getProperty(PARAMETER_NAME, PARAMETER_MESSAGE); contentType = prop.getProperty(CONTENT_TYPE, ""); diff --git a/src/main/java/com/eactive/eai/adapter/http/client/HttpClientAdapterServiceKey.java b/src/main/java/com/eactive/eai/adapter/http/client/HttpClientAdapterServiceKey.java index 0238cbc..6e6bad5 100644 --- a/src/main/java/com/eactive/eai/adapter/http/client/HttpClientAdapterServiceKey.java +++ b/src/main/java/com/eactive/eai/adapter/http/client/HttpClientAdapterServiceKey.java @@ -8,6 +8,9 @@ public interface HttpClientAdapterServiceKey { public static final String HTTP_TYPE = "HTTP_TYPE"; public static final String URL = "URL"; + public static final String DR_PROP_GROUP = "DR"; + public static final String DR_PROP_KEY = "dr.enable"; + public static final String DR_URL = "URL_DR"; public static final String URL_2GRP = "URL_2GRP"; public static final String METHOD = "METHOD"; diff --git a/src/main/java/com/eactive/eai/adapter/http/client/HttpClientAdapterServiceSupport.java b/src/main/java/com/eactive/eai/adapter/http/client/HttpClientAdapterServiceSupport.java index 5829cb0..f72bfc9 100644 --- a/src/main/java/com/eactive/eai/adapter/http/client/HttpClientAdapterServiceSupport.java +++ b/src/main/java/com/eactive/eai/adapter/http/client/HttpClientAdapterServiceSupport.java @@ -27,6 +27,7 @@ import com.eactive.eai.adapter.http.secure.CustomHttpsSocketFactory; import com.eactive.eai.adapter.http.secure.CustomSSLProtocolSocketFactory; import com.eactive.eai.adapter.http.secure.EasySSLProtocolSocketFactory; import com.eactive.eai.adapter.http.secure.SSLContextFactory; +import com.eactive.eai.common.property.PropManager; import com.eactive.eai.common.util.Logger; import com.eactive.eai.httpouttlsinfo.HttpOutTlsInfoManager; import com.eactive.eai.httpouttlsinfo.HttpOutTlsInfoVO; @@ -100,6 +101,12 @@ public abstract class HttpClientAdapterServiceSupport implements HttpClientAdapt if (StringUtils.isNotBlank(interfaceTimeout) && NumberUtils.toInt(interfaceTimeout) > 0) { timeoutTemp = interfaceTimeout; } + + boolean isDrMode = Boolean.valueOf(PropManager.getInstance().getProperty(DR_PROP_GROUP, DR_PROP_KEY, "false")); + + if (isDrMode) { + url = prop.getProperty(DR_URL); + } url = StringUtils.trim(url); parameterName = StringUtils.trim(parameterName);