MessageAsmMethodBoost优化
This commit is contained in:
46
src/test/java/org/redkale/test/mq/TestBean.java
Normal file
46
src/test/java/org/redkale/test/mq/TestBean.java
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
|
||||
*/
|
||||
|
||||
package org.redkale.test.mq;
|
||||
|
||||
import org.redkale.convert.json.JsonConvert;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author zhangjx
|
||||
*/
|
||||
public class TestBean {
|
||||
|
||||
private int userid;
|
||||
|
||||
private String message;
|
||||
|
||||
public TestBean() {}
|
||||
|
||||
public TestBean(int userid, String message) {
|
||||
this.userid = userid;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public int getUserid() {
|
||||
return userid;
|
||||
}
|
||||
|
||||
public void setUserid(int userid) {
|
||||
this.userid = userid;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JsonConvert.root().convertTo(this);
|
||||
}
|
||||
}
|
||||
33
src/test/java/org/redkale/test/mq/TestMessageConsumer.java
Normal file
33
src/test/java/org/redkale/test/mq/TestMessageConsumer.java
Normal file
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
|
||||
*/
|
||||
|
||||
package org.redkale.test.mq;
|
||||
|
||||
import org.redkale.mq.MessageConext;
|
||||
import org.redkale.mq.MessageConsumer;
|
||||
import org.redkale.mq.ResourceConsumer;
|
||||
import org.redkale.util.AnyValue;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author zhangjx
|
||||
*/
|
||||
@ResourceConsumer(mq = "mymq", topics = "test_bean_topic")
|
||||
public class TestMessageConsumer implements MessageConsumer<TestBean> {
|
||||
|
||||
@Override
|
||||
public void init(AnyValue config) {
|
||||
System.out.println("执行 TestMessageConsumer.init");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(MessageConext context, TestBean message) {
|
||||
System.out.println("TestMessageConsumer消费消息, context: " + context + ", message: " + message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroy(AnyValue config) {
|
||||
System.out.println("执行 TestMessageConsumer.destroy");
|
||||
}
|
||||
}
|
||||
23
src/test/java/org/redkale/test/mq/TestMessageFacde.java
Normal file
23
src/test/java/org/redkale/test/mq/TestMessageFacde.java
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
|
||||
*/
|
||||
|
||||
package org.redkale.test.mq;
|
||||
|
||||
import org.redkale.annotation.Component;
|
||||
import org.redkale.mq.Messaged;
|
||||
import org.redkale.service.AbstractService;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author zhangjx
|
||||
*/
|
||||
@Component
|
||||
public class TestMessageFacde extends AbstractService {
|
||||
|
||||
@Messaged(mq = "mymq", topics = "test_bean_topic", group = "group_5")
|
||||
public int runMessage5(TestBean message) {
|
||||
System.out.println("TestMessageFacde 消费消息5, message: " + message);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
54
src/test/java/org/redkale/test/mq/TestMessageService.java
Normal file
54
src/test/java/org/redkale/test/mq/TestMessageService.java
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
|
||||
*/
|
||||
|
||||
package org.redkale.test.mq;
|
||||
|
||||
import org.redkale.mq.MessageConext;
|
||||
import org.redkale.mq.MessageProducer;
|
||||
import org.redkale.mq.Messaged;
|
||||
import org.redkale.mq.ResourceProducer;
|
||||
import org.redkale.service.AbstractService;
|
||||
import org.redkale.util.AnyValue;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author zhangjx
|
||||
*/
|
||||
public class TestMessageService extends AbstractService {
|
||||
|
||||
@ResourceProducer(mq = "mymq")
|
||||
private MessageProducer producer;
|
||||
|
||||
@Override
|
||||
public void init(AnyValue config) {
|
||||
sendMessage();
|
||||
}
|
||||
|
||||
public void sendMessage() {
|
||||
TestBean bean = new TestBean(12345, "this is a message");
|
||||
System.out.println("生产消息: " + bean);
|
||||
producer.sendMessage("test_bean_topic", bean).whenComplete((v, t) -> {
|
||||
if (t != null) {
|
||||
t.printStackTrace();
|
||||
}
|
||||
System.out.println("消息发送结果: " + v);
|
||||
});
|
||||
}
|
||||
|
||||
@Messaged(mq = "mymq", topics = "test_bean_topic", group = "group_2")
|
||||
protected void runMessage2(MessageConext context, TestBean message) {
|
||||
System.out.println("TestMessageService 消费消息2, context: " + context + ", message: " + message);
|
||||
}
|
||||
|
||||
@Messaged(mq = "mymq", topics = "test_bean_topic", group = "group_3")
|
||||
protected void runMessage3(TestBean message) {
|
||||
System.out.println("TestMessageService 消费消息3, message: " + message);
|
||||
}
|
||||
|
||||
@Messaged(mq = "mymq", topics = "test_bean_topic", group = "group_4")
|
||||
protected int runMessage4(TestBean message) {
|
||||
System.out.println("TestMessageService 消费消息4, message: " + message);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
|
||||
*/
|
||||
|
||||
package org.redkale.test.mq;
|
||||
|
||||
import org.redkale.annotation.AutoLoad;
|
||||
import org.redkale.convert.ConvertType;
|
||||
import org.redkale.mq.MessageConext;
|
||||
import org.redkale.mq.MessageConsumer;
|
||||
import org.redkale.mq.ResourceConsumer;
|
||||
|
||||
@AutoLoad(false)
|
||||
public class _DynLocalTestMessageService extends TestMessageService {
|
||||
public _DynLocalTestMessageService() {
|
||||
super();
|
||||
System.out.println("哈哈哈哈哈");
|
||||
}
|
||||
|
||||
@AutoLoad(false)
|
||||
@ResourceConsumer(
|
||||
topics = {"test_bean_topic"},
|
||||
required = true,
|
||||
group = "group_4",
|
||||
convertType = ConvertType.JSON,
|
||||
mq = "mymq")
|
||||
public static class DynMessageConsumerx1 implements MessageConsumer<TestBean> {
|
||||
private _DynLocalTestMessageService service;
|
||||
|
||||
public DynMessageConsumerx1(_DynLocalTestMessageService service) {
|
||||
this.service = service;
|
||||
}
|
||||
|
||||
public void onMessage(MessageConext context, TestBean message) {
|
||||
this.service.runMessage4(message);
|
||||
}
|
||||
}
|
||||
|
||||
@AutoLoad(false)
|
||||
@ResourceConsumer(
|
||||
topics = {"test_bean_topic"},
|
||||
required = true,
|
||||
group = "group_3",
|
||||
convertType = ConvertType.JSON,
|
||||
mq = "mymq")
|
||||
public static class DynMessageConsumerx2 implements MessageConsumer<TestBean> {
|
||||
private _DynLocalTestMessageService service;
|
||||
|
||||
public DynMessageConsumerx2(_DynLocalTestMessageService service) {
|
||||
this.service = service;
|
||||
}
|
||||
|
||||
public void onMessage(MessageConext context, TestBean message) {
|
||||
this.service.runMessage3(message);
|
||||
}
|
||||
}
|
||||
|
||||
@AutoLoad(false)
|
||||
@ResourceConsumer(
|
||||
topics = {"test_bean_topic"},
|
||||
required = true,
|
||||
group = "group_2",
|
||||
convertType = ConvertType.JSON,
|
||||
mq = "mymq")
|
||||
public static class DynMessageConsumerx3 implements MessageConsumer<TestBean> {
|
||||
private _DynLocalTestMessageService service;
|
||||
|
||||
public DynMessageConsumerx3(_DynLocalTestMessageService service) {
|
||||
this.service = service;
|
||||
}
|
||||
|
||||
public void onMessage(MessageConext context, TestBean message) {
|
||||
this.service.runMessage2(context, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user