Rest配置中开启MQ时,path字段失效
This commit is contained in:
@@ -242,9 +242,9 @@
|
||||
<!--
|
||||
REST的核心配置项
|
||||
当Server为HTTP协议时, rest节点才有效。存在[rest]节点则Server启动时会加载REST服务, 节点可以多个,(WATCH协议不需要设置,系统会自动生成)
|
||||
path: servlet的ContextPath前缀 默认为空
|
||||
path: servlet的ContextPath前缀 默认为空 【注: 开启MQ时,该字段失效】
|
||||
base: REST服务的BaseServlet,必须是 org.redkale.net.http.HttpServlet 的子类,且子类必须标记@HttpUserType。
|
||||
mq: 所属的MQ管理器, 存在该属性表示RestService的请求来自于消息总线
|
||||
mq: 所属的MQ管理器, 存在该属性表示RestService的请求来自于消息总线 【注: 开启MQ时,path字段失效】
|
||||
autoload:默认值"true" 默认值. 加载当前server所能使用的Servce对象;
|
||||
includes:当autoload="true", 拉取类名与includes中的正则表达式匹配的类, 多个正则表达式用分号;隔开
|
||||
excludes:当autoload="true", 排除类名与excludes中的正则表达式匹配的类, 多个正则表达式用分号;隔开
|
||||
|
||||
@@ -232,7 +232,6 @@ public class NodeHttpServer extends NodeServer {
|
||||
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(0) != '/') prefix0 = '/' + prefix0;
|
||||
final String prefix = prefix0;
|
||||
|
||||
final String localThreadName = "[" + Thread.currentThread().getName() + "] ";
|
||||
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 + ")");
|
||||
}
|
||||
final MessageAgent messageAgent = agent0;
|
||||
if (messageAgent != null) prefix0 = ""; //开启MQ时,prefix字段失效
|
||||
final String prefix = prefix0;
|
||||
final boolean autoload = restConf.getBoolValue("autoload", true);
|
||||
{ //加载RestService
|
||||
String userTypeStr = restConf.getValue("usertype");
|
||||
|
||||
@@ -39,6 +39,38 @@ public class HttpMessageClient extends MessageClient {
|
||||
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) {
|
||||
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();
|
||||
req.setBody(array.size() == 0 ? null : array.getBytes());
|
||||
req.setHeaders(headers.isEmpty() ? null : headers);
|
||||
req.setParams(params.isEmpty() ? null : params);
|
||||
req.setRemoteAddr(getRemoteAddr());
|
||||
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));
|
||||
return req;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user