Rest配置中开启MQ时,path字段失效
This commit is contained in:
@@ -242,9 +242,9 @@
|
|||||||
<!--
|
<!--
|
||||||
REST的核心配置项
|
REST的核心配置项
|
||||||
当Server为HTTP协议时, rest节点才有效。存在[rest]节点则Server启动时会加载REST服务, 节点可以多个,(WATCH协议不需要设置,系统会自动生成)
|
当Server为HTTP协议时, rest节点才有效。存在[rest]节点则Server启动时会加载REST服务, 节点可以多个,(WATCH协议不需要设置,系统会自动生成)
|
||||||
path: servlet的ContextPath前缀 默认为空
|
path: servlet的ContextPath前缀 默认为空 【注: 开启MQ时,该字段失效】
|
||||||
base: REST服务的BaseServlet,必须是 org.redkale.net.http.HttpServlet 的子类,且子类必须标记@HttpUserType。
|
base: REST服务的BaseServlet,必须是 org.redkale.net.http.HttpServlet 的子类,且子类必须标记@HttpUserType。
|
||||||
mq: 所属的MQ管理器, 存在该属性表示RestService的请求来自于消息总线
|
mq: 所属的MQ管理器, 存在该属性表示RestService的请求来自于消息总线 【注: 开启MQ时,path字段失效】
|
||||||
autoload:默认值"true" 默认值. 加载当前server所能使用的Servce对象;
|
autoload:默认值"true" 默认值. 加载当前server所能使用的Servce对象;
|
||||||
includes:当autoload="true", 拉取类名与includes中的正则表达式匹配的类, 多个正则表达式用分号;隔开
|
includes:当autoload="true", 拉取类名与includes中的正则表达式匹配的类, 多个正则表达式用分号;隔开
|
||||||
excludes:当autoload="true", 排除类名与excludes中的正则表达式匹配的类, 多个正则表达式用分号;隔开
|
excludes:当autoload="true", 排除类名与excludes中的正则表达式匹配的类, 多个正则表达式用分号;隔开
|
||||||
|
|||||||
@@ -232,7 +232,6 @@ public class NodeHttpServer extends NodeServer {
|
|||||||
String prefix0 = restConf.getValue("path", "");
|
String prefix0 = restConf.getValue("path", "");
|
||||||
if (!prefix0.isEmpty() && prefix0.charAt(prefix0.length() - 1) == '/') prefix0 = prefix0.substring(0, prefix0.length() - 1);
|
if (!prefix0.isEmpty() && prefix0.charAt(prefix0.length() - 1) == '/') prefix0 = prefix0.substring(0, prefix0.length() - 1);
|
||||||
if (!prefix0.isEmpty() && prefix0.charAt(0) != '/') prefix0 = '/' + prefix0;
|
if (!prefix0.isEmpty() && prefix0.charAt(0) != '/') prefix0 = '/' + prefix0;
|
||||||
final String prefix = prefix0;
|
|
||||||
|
|
||||||
final String localThreadName = "[" + Thread.currentThread().getName() + "] ";
|
final String localThreadName = "[" + Thread.currentThread().getName() + "] ";
|
||||||
final List<AbstractMap.SimpleEntry<String, String[]>> ss = sb == null ? null : new ArrayList<>();
|
final List<AbstractMap.SimpleEntry<String, String[]>> ss = sb == null ? null : new ArrayList<>();
|
||||||
@@ -243,6 +242,8 @@ public class NodeHttpServer extends NodeServer {
|
|||||||
if (agent0 == null) throw new RuntimeException("not found " + MessageAgent.class.getSimpleName() + " config for (name=" + mqname + ")");
|
if (agent0 == null) throw new RuntimeException("not found " + MessageAgent.class.getSimpleName() + " config for (name=" + mqname + ")");
|
||||||
}
|
}
|
||||||
final MessageAgent messageAgent = agent0;
|
final MessageAgent messageAgent = agent0;
|
||||||
|
if (messageAgent != null) prefix0 = ""; //开启MQ时,prefix字段失效
|
||||||
|
final String prefix = prefix0;
|
||||||
final boolean autoload = restConf.getBoolValue("autoload", true);
|
final boolean autoload = restConf.getBoolValue("autoload", true);
|
||||||
{ //加载RestService
|
{ //加载RestService
|
||||||
String userTypeStr = restConf.getValue("usertype");
|
String userTypeStr = restConf.getValue("usertype");
|
||||||
|
|||||||
@@ -39,6 +39,38 @@ public class HttpMessageClient extends MessageClient {
|
|||||||
return messageAgent.generateHttpReqTopic(module);
|
return messageAgent.generateHttpReqTopic(module);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final CompletableFuture<HttpResult<byte[]>> sendMessage(HttpSimpleRequest request) {
|
||||||
|
return sendMessage(generateHttpReqTopic(request, null), ConvertType.JSON, 0, null, request, true, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final CompletableFuture<HttpResult<byte[]>> sendMessage(HttpSimpleRequest request, AtomicLong counter) {
|
||||||
|
return sendMessage(generateHttpReqTopic(request, null), ConvertType.JSON, 0, null, request, true, counter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final CompletableFuture<HttpResult<byte[]>> sendMessage(HttpSimpleRequest request, boolean needresp) {
|
||||||
|
return sendMessage(generateHttpReqTopic(request, null), ConvertType.JSON, 0, null, request, needresp, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final CompletableFuture<HttpResult<byte[]>> sendMessage(HttpSimpleRequest request, boolean needresp, AtomicLong counter) {
|
||||||
|
return sendMessage(generateHttpReqTopic(request, null), ConvertType.JSON, 0, null, request, needresp, counter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final CompletableFuture<HttpResult<byte[]>> sendMessage(int userid, String groupid, HttpSimpleRequest request) {
|
||||||
|
return sendMessage(generateHttpReqTopic(request, null), ConvertType.JSON, userid, groupid, request, true, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final CompletableFuture<HttpResult<byte[]>> sendMessage(int userid, String groupid, HttpSimpleRequest request, AtomicLong counter) {
|
||||||
|
return sendMessage(generateHttpReqTopic(request, null), ConvertType.JSON, userid, groupid, request, true, counter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final CompletableFuture<HttpResult<byte[]>> sendMessage(int userid, String groupid, HttpSimpleRequest request, boolean needresp) {
|
||||||
|
return sendMessage(generateHttpReqTopic(request, null), ConvertType.JSON, userid, groupid, request, needresp, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final CompletableFuture<HttpResult<byte[]>> sendMessage(int userid, String groupid, HttpSimpleRequest request, boolean needresp, AtomicLong counter) {
|
||||||
|
return sendMessage(generateHttpReqTopic(request, null), ConvertType.JSON, userid, groupid, request, needresp, counter);
|
||||||
|
}
|
||||||
|
|
||||||
public final CompletableFuture<HttpResult<byte[]>> sendMessage(String topic, HttpSimpleRequest request) {
|
public final CompletableFuture<HttpResult<byte[]>> sendMessage(String topic, HttpSimpleRequest request) {
|
||||||
return sendMessage(topic, ConvertType.JSON, 0, null, request, true, null);
|
return sendMessage(topic, ConvertType.JSON, 0, null, request, true, null);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,14 +109,18 @@ public class HttpRequest extends Request<HttpContext> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public HttpSimpleRequest createSimpleRequest() {
|
public HttpSimpleRequest createSimpleRequest(String prefix) {
|
||||||
HttpSimpleRequest req = new HttpSimpleRequest();
|
HttpSimpleRequest req = new HttpSimpleRequest();
|
||||||
req.setBody(array.size() == 0 ? null : array.getBytes());
|
req.setBody(array.size() == 0 ? null : array.getBytes());
|
||||||
req.setHeaders(headers.isEmpty() ? null : headers);
|
req.setHeaders(headers.isEmpty() ? null : headers);
|
||||||
req.setParams(params.isEmpty() ? null : params);
|
req.setParams(params.isEmpty() ? null : params);
|
||||||
req.setRemoteAddr(getRemoteAddr());
|
req.setRemoteAddr(getRemoteAddr());
|
||||||
req.setContentType(getContentType());
|
req.setContentType(getContentType());
|
||||||
req.setRequestURI(this.requestURI);
|
String uri = this.requestURI;
|
||||||
|
if (prefix != null && !prefix.isEmpty() && uri.startsWith(prefix)) {
|
||||||
|
uri = uri.substring(prefix.length());
|
||||||
|
}
|
||||||
|
req.setRequestURI(uri);
|
||||||
req.setSessionid(getSessionid(false));
|
req.setSessionid(getSessionid(false));
|
||||||
return req;
|
return req;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user