提交 1405bcf3 编写于 作者: Z zhourui

修复服务调用中不能将center的服务作为内部服务调用.

上级 183fa183
......@@ -17,6 +17,9 @@ import org.apache.commons.lang3.StringUtils;
import com.google.gson.reflect.TypeToken;
import com.x.base.core.container.EntityManagerContainer;
import com.x.base.core.project.Application;
import com.x.base.core.project.x_program_center;
import com.x.base.core.project.config.Config;
import com.x.base.core.project.config.Node;
import com.x.base.core.project.connection.ActionResponse;
import com.x.base.core.project.connection.CipherConnectionAction;
import com.x.base.core.project.connection.ConnectionAction;
......@@ -218,10 +221,23 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
String uri = this.jaxrsUrl(aeiObjects, invoke);
if (BooleanUtils.isTrue(invoke.getAsync())) {
JaxrsObject jaxrsObject = new JaxrsObject();
if (invoke.getInternalProject().equalsIgnoreCase(x_program_center.class.getSimpleName())
|| invoke.getInternalProject().equalsIgnoreCase(x_program_center.class.getName())) {
final Node node = Config.nodes().get(Config.resource_node_centersPirmaryNode());
if (null != node) {
String prefix = ThisApplication.context().applications().urlPrefixOfCenterServer(
Config.resource_node_centersPirmaryNode(),
node.getCenter());
jaxrsObject
.setAddress(StringTools.JoinUrl(prefix + CipherConnectionAction.trim(uri)));
}
} else {
Application application = ThisApplication.context().applications()
.randomWithWeight(invoke.getInternalProject());
jaxrsObject
.setAddress(StringTools.JoinUrl(application.getUrlJaxrsRoot() + CipherConnectionAction.trim(uri)));
.setAddress(
StringTools.JoinUrl(application.getUrlJaxrsRoot() + CipherConnectionAction.trim(uri)));
}
jaxrsObject.setInternal(invoke.getInternal());
jaxrsObject.setMethod(ConnectionAction.METHOD_DELETE);
jaxrsObject.setContentType(invoke.getJaxrsContentType());
......@@ -236,10 +252,23 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
String uri = this.jaxrsUrl(aeiObjects, invoke);
if (BooleanUtils.isTrue(invoke.getAsync())) {
JaxrsObject jaxrsObject = new JaxrsObject();
if (invoke.getInternalProject().equalsIgnoreCase(x_program_center.class.getSimpleName())
|| invoke.getInternalProject().equalsIgnoreCase(x_program_center.class.getName())) {
final Node node = Config.nodes().get(Config.resource_node_centersPirmaryNode());
if (null != node) {
String prefix = ThisApplication.context().applications().urlPrefixOfCenterServer(
Config.resource_node_centersPirmaryNode(),
node.getCenter());
jaxrsObject
.setAddress(StringTools.JoinUrl(prefix + CipherConnectionAction.trim(uri)));
}
} else {
Application application = ThisApplication.context().applications()
.randomWithWeight(invoke.getInternalProject());
jaxrsObject
.setAddress(StringTools.JoinUrl(application.getUrlJaxrsRoot() + CipherConnectionAction.trim(uri)));
.setAddress(
StringTools.JoinUrl(application.getUrlJaxrsRoot() + CipherConnectionAction.trim(uri)));
}
jaxrsObject.setInternal(invoke.getInternal());
jaxrsObject.setMethod(ConnectionAction.METHOD_GET);
jaxrsObject.setContentType(invoke.getJaxrsContentType());
......@@ -255,10 +284,24 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
String uri = this.jaxrsUrl(aeiObjects, invoke);
if (BooleanUtils.isTrue(invoke.getAsync())) {
JaxrsObject jaxrsObject = new JaxrsObject();
if (invoke.getInternalProject().equalsIgnoreCase(x_program_center.class.getSimpleName())
|| invoke.getInternalProject().equalsIgnoreCase(x_program_center.class.getName())) {
final Node node = Config.nodes().get(Config.resource_node_centersPirmaryNode());
if (null != node) {
String prefix = ThisApplication.context().applications().urlPrefixOfCenterServer(
Config.resource_node_centersPirmaryNode(),
node.getCenter());
jaxrsObject
.setAddress(StringTools.JoinUrl(prefix + CipherConnectionAction.trim(uri)));
}
} else {
Application application = ThisApplication.context().applications()
.randomWithWeight(invoke.getInternalProject());
jaxrsObject
.setAddress(StringTools.JoinUrl(application.getUrlJaxrsRoot() + CipherConnectionAction.trim(uri)));
.setAddress(
StringTools.JoinUrl(application.getUrlJaxrsRoot() + CipherConnectionAction.trim(uri)));
}
jaxrsObject.setAddress(uri);
jaxrsObject.setBody(body);
jaxrsObject.setInternal(invoke.getInternal());
jaxrsObject.setMethod(ConnectionAction.METHOD_PUT);
......@@ -275,10 +318,23 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
String uri = this.jaxrsUrl(aeiObjects, invoke);
if (BooleanUtils.isTrue(invoke.getAsync())) {
JaxrsObject jaxrsObject = new JaxrsObject();
if (invoke.getInternalProject().equalsIgnoreCase(x_program_center.class.getSimpleName())
|| invoke.getInternalProject().equalsIgnoreCase(x_program_center.class.getName())) {
final Node node = Config.nodes().get(Config.resource_node_centersPirmaryNode());
if (null != node) {
String prefix = ThisApplication.context().applications().urlPrefixOfCenterServer(
Config.resource_node_centersPirmaryNode(),
node.getCenter());
jaxrsObject
.setAddress(StringTools.JoinUrl(prefix + CipherConnectionAction.trim(uri)));
}
} else {
Application application = ThisApplication.context().applications()
.randomWithWeight(invoke.getInternalProject());
jaxrsObject
.setAddress(StringTools.JoinUrl(application.getUrlJaxrsRoot() + CipherConnectionAction.trim(uri)));
.setAddress(
StringTools.JoinUrl(application.getUrlJaxrsRoot() + CipherConnectionAction.trim(uri)));
}
jaxrsObject.setBody(body);
jaxrsObject.setInternal(invoke.getInternal());
jaxrsObject.setMethod(ConnectionAction.METHOD_POST);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册