package com.basic.security.utils; import android.os.SystemClock; import com.basic.security.manager.SettingManager; import com.fasterxml.jackson.databind.cfg.BaseSettings; import com.rabbitmq.client.AMQP; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; import com.rabbitmq.client.Consumer; import com.rabbitmq.client.DefaultConsumer; import com.rabbitmq.client.Envelope; import org.slf4j.ILoggerFactory; import java.io.IOException; public class RabbitMQConsumer { static String QUEUE_NAME = "alarm2Android"; static ConnectionFactory factory = new ConnectionFactory(); public static void init() { try { System.out.println("RabbitMQConsumer.init "); ConnectionFactory factory = new ConnectionFactory(); { // factory.setHost("58.118.225.79"); // factory.setPort(53691); factory.setHost(SettingManager.getIpStr()); factory.setPort(SettingManager.getPort()); } { //factory.setHost("localhost"); } factory.setUsername("basic"); factory.setPassword("basic"); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.queueDeclare(QUEUE_NAME, false, false, false, null); Consumer consumer = new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { try { String message = new String(body, "UTF-8"); System.out.println("RabbitMQConsumer.handleDelivery " + message); SocketClient.parseJson(message); } catch (Exception e) { e.printStackTrace(); } } }; channel.basicConsume(QUEUE_NAME, true, consumer); while (connection.isOpen()) { SystemClock.sleep(3*100); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { while (true) { init(); SystemClock.sleep(3000); } } }