mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
@@ -16,6 +16,12 @@ import javax.management.remote.JMXConnectorServer;
|
||||
import javax.management.remote.JMXConnectorServerFactory;
|
||||
import javax.management.remote.JMXServiceURL;
|
||||
|
||||
/**
|
||||
* Canal Server Agent 用于远程JMX调用
|
||||
*
|
||||
* @author rewerma 2019-07-13 下午05:12:16
|
||||
* @version 1.0.0
|
||||
*/
|
||||
public class CanalServerAgent implements NotificationListener {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CanalServerBean.class);
|
||||
|
||||
@@ -14,6 +14,12 @@ import org.slf4j.LoggerFactory;
|
||||
import javax.management.NotificationBroadcasterSupport;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Canal配置信息业务层
|
||||
*
|
||||
* @author rewerma 2019-07-13 下午05:12:16
|
||||
* @version 1.0.0
|
||||
*/
|
||||
public class CanalServerBean extends NotificationBroadcasterSupport implements CanalServerMXBean {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CanalServerBean.class);
|
||||
|
||||
@@ -1,26 +1,90 @@
|
||||
package com.alibaba.otter.canal.deployer.mbean;
|
||||
|
||||
/**
|
||||
* Canal Server JMX MBean
|
||||
*
|
||||
* @author rewerma 2019-07-13 下午05:12:16
|
||||
* @version 1.0.0
|
||||
*/
|
||||
public interface CanalServerMXBean {
|
||||
|
||||
/**
|
||||
* 获取Canal Server状态
|
||||
*
|
||||
* @return 状态代码
|
||||
*/
|
||||
int getStatus();
|
||||
|
||||
/**
|
||||
* 启动Canal Server
|
||||
*
|
||||
* @return 是否成功
|
||||
*/
|
||||
boolean start();
|
||||
|
||||
/**
|
||||
* 停止Canal Server
|
||||
*
|
||||
* @return 是否成功
|
||||
*/
|
||||
boolean stop();
|
||||
|
||||
/**
|
||||
* 重启Canal Server
|
||||
*
|
||||
* @return 是否成功
|
||||
*/
|
||||
boolean restart();
|
||||
|
||||
/**
|
||||
* 退出Canal Server(关闭进程)
|
||||
*
|
||||
* @return 是否成功
|
||||
*/
|
||||
boolean exit();
|
||||
|
||||
/**
|
||||
* 通过实例名启动实例
|
||||
*
|
||||
* @param destination 实例名
|
||||
* @return 是否成功
|
||||
*/
|
||||
boolean startInstance(String destination);
|
||||
|
||||
/**
|
||||
* 通过实例名关闭实例
|
||||
*
|
||||
* @param destination 实例名
|
||||
* @return 是否成功
|
||||
*/
|
||||
boolean stopInstance(String destination);
|
||||
|
||||
/**
|
||||
* 通过实例名重启实例
|
||||
*
|
||||
* @param destination 实例名
|
||||
* @return 是否成功
|
||||
*/
|
||||
boolean reloadInstance(String destination);
|
||||
|
||||
/**
|
||||
* 获取所有当前节点下运行中的实例
|
||||
*
|
||||
* @return 实例信息
|
||||
*/
|
||||
String getRunningInstances();
|
||||
|
||||
/**
|
||||
* 获取Canal Server日志(末尾100行)
|
||||
*
|
||||
* @return 日志信息
|
||||
*/
|
||||
String canalLog();
|
||||
|
||||
/**
|
||||
* 通过实例名获取实例日志(末尾100行)
|
||||
*
|
||||
* @return 日志信息
|
||||
*/
|
||||
String instanceLog(String destination);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user