diff --git a/src/main/java/org/redkale/net/http/HttpResponse.java b/src/main/java/org/redkale/net/http/HttpResponse.java index 83d2f5516..1a947f7ea 100644 --- a/src/main/java/org/redkale/net/http/HttpResponse.java +++ b/src/main/java/org/redkale/net/http/HttpResponse.java @@ -22,6 +22,7 @@ import org.redkale.convert.*; import org.redkale.convert.json.*; import org.redkale.net.*; import org.redkale.net.Filter; +import org.redkale.service.RetException; import org.redkale.service.RetResult; import org.redkale.util.*; import org.redkale.util.AnyValue.Entry; @@ -374,7 +375,11 @@ public class HttpResponse extends Response { @Override protected void defaultError(Throwable t) { - finish(500, null); + if (t instanceof RetException) { + finish(jsonRootConvert, RetResult.TYPE_RET_STRING, ((RetException) t).retResult()); + } else { + finish(500, null); + } } /** @@ -1164,10 +1169,10 @@ public class HttpResponse extends Response { } else { domain = "Domain=" + domain + "; "; } - String path = defaultCookie == null ? null : defaultCookie.getPath(); - if (path == null || path.isEmpty()) { - path = "/"; - } + // String path = defaultCookie == null ? null : defaultCookie.getPath(); + // if (path == null || path.isEmpty()) { + // path = "/"; + // } if (request.newSessionid.isEmpty()) { headerArray.put(("Set-Cookie: " + HttpRequest.SESSIONID_NAME + "=; " + domain + "Path=/; Max-Age=0; HttpOnly\r\n") diff --git a/src/main/java/org/redkale/service/RetException.java b/src/main/java/org/redkale/service/RetException.java index 3f401a19b..b60e72d67 100644 --- a/src/main/java/org/redkale/service/RetException.java +++ b/src/main/java/org/redkale/service/RetException.java @@ -40,4 +40,8 @@ public class RetException extends RedkaleException { public int getCode() { return code; } + + public RetResult retResult() { + return new RetResult(code, getMessage()); + } } diff --git a/src/test/java/org/redkale/test/mq/TestMessageRegexConsumer.java b/src/test/java/org/redkale/test/mq/TestMessageRegexConsumer.java new file mode 100644 index 000000000..c449091ca --- /dev/null +++ b/src/test/java/org/redkale/test/mq/TestMessageRegexConsumer.java @@ -0,0 +1,36 @@ +/* + + */ + +package org.redkale.test.mq; + +import org.redkale.mq.MessageConsumer; +import org.redkale.mq.MessageEvent; +import org.redkale.mq.ResourceConsumer; +import org.redkale.util.AnyValue; + +/** + * + * @author zhangjx + */ +@ResourceConsumer(mq = "mymq", regexTopic = "test_.*") +public class TestMessageRegexConsumer implements MessageConsumer { + + @Override + public void init(AnyValue config) { + System.out.println("执行 TestMessageRegexConsumer.init"); + } + + @Override + public void onMessage(MessageEvent[] events) { + for (MessageEvent event : events) { + System.out.println("TestMessageRegexConsumer消费消息, message: " + event.getMessage()); + } + } + + @Override + public void destroy(AnyValue config) { + System.out.println("执行 TestMessageRegexConsumer.destroy"); + } +} +