update(REQ-2516) - 添加 RocketMQ 的 tool 工具包

This commit is contained in:
wangli 2024-06-05 18:23:22 +08:00
parent dc768f785c
commit be09801a4d
3 changed files with 37 additions and 0 deletions

View File

@ -28,5 +28,10 @@
<artifactId>axzo-common-rocketmq</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-tools</artifactId>
<version>4.9.1</version>
</dependency>
</dependencies>
</project>

View File

@ -22,6 +22,11 @@ import cn.axzo.workflow.starter.mq.broadcast.consumer.InnerInstanceEventListener
import cn.axzo.workflow.starter.mq.broadcast.consumer.InnerNotificationEventListener;
import cn.axzo.workflow.starter.mq.broadcast.consumer.InnerTaskEventListener;
import cn.axzo.workflow.starter.mq.broadcast.consumer.WorkflowListener;
import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.common.MixAll;
import org.apache.rocketmq.remoting.RPCHook;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.ObjectProvider;
@ -107,4 +112,21 @@ public class WorkflowEngineStarterAutoConfiguration {
}
}
@Bean(destroyMethod = "shutdown", name = "defaultMQAdminExt")
public DefaultMQAdminExt defaultMQAdminExt() {
String namesrvAddress = System.getProperty("rocketmq.name-server");
if (StringUtils.isBlank(namesrvAddress)) {
log.error("Build DefaultMQAdminExt error, namesrv is null");
throw new RuntimeException("Build DefaultMQAdminExt error, namesrv is null", null);
}
DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt((RPCHook) null, 5000L);
defaultMQAdminExt.setInstanceName("admin-" + System.currentTimeMillis());
defaultMQAdminExt.setNamesrvAddr(namesrvAddress);
try {
defaultMQAdminExt.start();
} catch (MQClientException ex) {
log.error(String.format("init default admin error, namesrv=%s", System.getProperty(MixAll.NAMESRV_ADDR_PROPERTY)), ex);
}
return defaultMQAdminExt;
}
}

View File

@ -0,0 +1,10 @@
package cn.axzo.workflow.starter.mq.monitor;
/**
* TODO
*
* @author wangli
* @since 2024/6/5 17:49
*/
public class DefaultMQMonitor {
}