Browse Source

mycat 发送到zbus

demon 8 years ago
parent
commit
23293f728e

+ 38 - 0
hos-web-framework/src/main/java/com/yihu/hos/web/framework/util/HostUtil.java

@ -0,0 +1,38 @@
package com.yihu.hos.web.framework.util;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Enumeration;
/**
 * @author HZY
 * @vsrsion 1.0
 * Created at 2017/2/6.
 */
public class HostUtil {
    public static String getAddress() {
        try {
            Enumeration<NetworkInterface> enumeration = NetworkInterface
                    .getNetworkInterfaces();
            while (enumeration.hasMoreElements()) {
                NetworkInterface networkInterface = enumeration.nextElement();
                if (networkInterface.isUp()) {
                    Enumeration<InetAddress> addressEnumeration = networkInterface
                            .getInetAddresses();
                    while (addressEnumeration.hasMoreElements()) {
                        String ip = addressEnumeration.nextElement()
                                .getHostAddress();
                        final String REGX_IP = "((25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)\\.){3}(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)";
                        if (ip.matches(REGX_IP) && !ip.equals("127.0.0.1") && networkInterface.getName().startsWith("eth")) {
                            return ip;
                        }
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

+ 0 - 4
src/main/java/com/yihu/hos/services/ServiceFlowEventService.java

@ -14,7 +14,6 @@ import org.zbus.broker.ZbusBroker;
import org.zbus.mq.Producer;
import org.zbus.net.http.Message;
import javax.jms.Queue;
import java.io.IOException;
/**
@ -26,9 +25,6 @@ public class ServiceFlowEventService {
    @Autowired
    private JmsMessagingTemplate jmsMessagingTemplate;
    @Autowired
    private Queue queue;
    @Autowired
    private ObjectMapper objectMapper;

+ 21 - 13
src/main/java/com/yihu/hos/services/ServiceMycatEventService.java

@ -1,6 +1,5 @@
package com.yihu.hos.services;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;
@ -9,11 +8,11 @@ import com.yihu.hos.web.framework.model.bo.ServiceMycat;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.stereotype.Component;
import org.zbus.broker.ZbusBroker;
import org.zbus.mq.Producer;
import org.zbus.net.http.Message;
import javax.annotation.Resource;
import javax.jms.Queue;
import java.util.HashMap;
import java.util.Map;
import java.io.IOException;
/**
 *  mycat配置文件操作 消息到MQ
@ -27,12 +26,16 @@ public class ServiceMycatEventService {
    @Autowired
    private JmsMessagingTemplate jmsMessagingTemplate;
    @Resource(name = "mycatQueue")
    private Queue mycatQueue;
    @Autowired
    private ObjectMapper objectMapper;
    private ZbusBroker zbusBroker;
    @Autowired
    public void setZbusBroker(ZbusBroker zbusBroker) {
        this.zbusBroker = zbusBroker;
    }
    public void executeMycatConfig(ServiceMycat servviceMycat, String tenant) {
        this.sendMsg(ServiceFlowConstant.EXECUTE_MYCAT, servviceMycat,tenant);
    }
@ -40,12 +43,17 @@ public class ServiceMycatEventService {
    private void sendMsg(String event, ServiceMycat servviceMycat,String tenant) {
        try {
            Map<String, Object> header = new HashMap<>();
            String msg = objectMapper.writeValueAsString(servviceMycat);
            header.put("tenant", tenant);
            header.put("event", event);
            this.jmsMessagingTemplate.convertAndSend(this.mycatQueue, msg, header);
        } catch (JsonProcessingException e) {
            Producer producer = new Producer(zbusBroker, ServiceFlowConstant.MYCAT_UPDATE + "@" + tenant);
            producer.createMQ();    //确定为创建消息队列需要显示调用
            Message message = new Message();
            message.setHead("event", event);
            message.setHead("tenant", tenant);
            message.setMethod("POST");
            message.setBody(msg);
            producer.sendSync(message);
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
            logger.error(e.getMessage());
        }

+ 0 - 5
src/main/java/com/yihu/hos/services/ServiceShellEventService.java

@ -14,8 +14,6 @@ import org.zbus.broker.ZbusBroker;
import org.zbus.mq.Producer;
import org.zbus.net.http.Message;
import javax.annotation.Resource;
import javax.jms.Queue;
import java.io.IOException;
/**
@ -31,9 +29,6 @@ public class ServiceShellEventService {
    @Autowired
    private JmsMessagingTemplate jmsMessagingTemplate;
    @Resource(name = "shellQueue")
    private Queue shellQueue;
    @Autowired
    private ObjectMapper objectMapper;