List of usage examples for com.rabbitmq.client ConnectionFactory ConnectionFactory
ConnectionFactory
From source file:benchmarkio.producer.rabbitmq.RabbitMQMessageProducer.java
License:Apache License
public RabbitMQMessageProducer(final String host, final int port, final String topic, final String message, final long numberOfMessagesToProduce, final boolean durable) { Preconditions.checkNotNull(host);/*from w w w . j a v a 2s . com*/ final ConnectionFactory factory = new ConnectionFactory(); factory.setHost(host); factory.setPort(port); try { final Connection connection = factory.newConnection(); this.channel = connection.createChannel(); this.channel.exchangeDeclare(topic, "topic", durable); } catch (final IOException e) { throw Throwables.propagate(e); } // To declare a queue //channel.queueDeclare(QUEUE_NAME, false, false, false, null); this.histogram = Histograms.create(); this.topic = Preconditions.checkNotNull(topic); this.message = Preconditions.checkNotNull(message); this.numberOfMessagesToProduce = Preconditions.checkNotNull(numberOfMessagesToProduce); }
From source file:biospectra.classify.server.RabbitMQInputClient.java
License:Apache License
public synchronized void connect() throws IOException, TimeoutException { ConnectionFactory factory = new ConnectionFactory(); String hostname = this.conf.getRabbitMQHostnames().get(this.hostId); factory.setHost(hostname);/*from www . j a v a2 s . co m*/ factory.setPort(this.conf.getRabbitMQPort()); factory.setUsername(this.conf.getRabbitMQUserId()); factory.setPassword(this.conf.getRabbitMQUserPwd()); factory.setRequestedHeartbeat(60); factory.setAutomaticRecoveryEnabled(true); this.connection = factory.newConnection(); this.shutdownListener = new ShutdownListener() { @Override public void shutdownCompleted(ShutdownSignalException sse) { LOG.error("connection shutdown", sse); } }; this.connection.addShutdownListener(this.shutdownListener); this.requestChannel = this.connection.createChannel(); this.responseChannel = this.connection.createChannel(); LOG.info("reader connected - " + hostname + ":" + this.conf.getRabbitMQPort()); this.responseChannel.basicQos(10); this.queueName = this.responseChannel.queueDeclare().getQueue(); this.consumer = new DefaultConsumer(this.responseChannel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); this.getChannel().basicAck(envelope.getDeliveryTag(), false); LOG.info("> " + message); ClassificationResponseMessage res = ClassificationResponseMessage.createInstance(message); ClassificationRequest ereq = null; synchronized (requestMap) { ereq = requestMap.get(res.getReqId()); if (ereq != null) { requestMap.remove(res.getReqId()); } } if (ereq == null) { LOG.error("cannot find matching request"); } else { ClassificationResponse eres = new ClassificationResponse(ereq, res); boolean responded = false; synchronized (ereq) { ClassificationRequest.RequestStatus status = ereq.getStatus(); if (status.equals(ClassificationRequest.RequestStatus.STATUS_UNKNOWN)) { ereq.setStatus(ClassificationRequest.RequestStatus.STATUS_RESPONDED); responded = true; } requestQueue.remove(ereq); } if (responded) { LOG.info("res : " + ereq.getReqId()); if (handler != null) { handler.onSuccess(eres.getReqId(), eres.getHeader(), eres.getSequence(), eres.getResult(), eres.getType(), eres.getTaxonRank(), eres.getTaxonName()); } synchronized (requestQueue) { requestQueue.notifyAll(); } } } } }; this.workerThread = new Thread(new Runnable() { @Override public void run() { try { responseChannel.basicConsume(queueName, consumer); LOG.info("Waiting for messages"); } catch (IOException ex) { LOG.error("Exception occurred while consuming a message", ex); } } }); this.workerThread.start(); this.reachable = true; this.timeoutThread = new Thread(new Runnable() { @Override public void run() { while (true) { boolean cont = false; if (requestQueue.size() > 0) { ClassificationRequest ereq = requestQueue.peek(); Date cur = new Date(); if (ereq != null && cur.getTime() - ereq.getSentTime() >= QUERY_TIMEOUT) { LOG.info("found timeout request"); //timeout boolean timeout = false; synchronized (ereq) { ClassificationRequest.RequestStatus status = ereq.getStatus(); if (status.equals(ClassificationRequest.RequestStatus.STATUS_UNKNOWN)) { ereq.setStatus(ClassificationRequest.RequestStatus.STATUS_TIMEOUT); timeout = true; } requestQueue.remove(ereq); } synchronized (requestMap) { requestMap.remove(ereq.getReqId()); } if (timeout) { LOG.info("timeout : " + ereq.getReqId()); handler.onTimeout(ereq.getReqId(), ereq.getHeader(), ereq.getSequence()); synchronized (requestQueue) { requestQueue.notifyAll(); } } cont = true; } } if (!cont) { try { Thread.sleep(1000); } catch (InterruptedException ex) { break; } } } } }); this.timeoutThread.start(); }
From source file:biospectra.classify.server.RabbitMQInputServer.java
License:Apache License
public synchronized void connect() throws IOException, TimeoutException { LOG.info("Connecting to - " + this.conf.getRabbitMQHostname() + ":" + this.conf.getRabbitMQPort()); ConnectionFactory factory = new ConnectionFactory(); factory.setHost(this.conf.getRabbitMQHostname()); factory.setPort(this.conf.getRabbitMQPort()); factory.setUsername(this.conf.getRabbitMQUserId()); factory.setPassword(this.conf.getRabbitMQUserPwd()); factory.setRequestedHeartbeat(60);/*from w ww. java 2 s .c om*/ factory.setAutomaticRecoveryEnabled(true); this.connection = factory.newConnection(); this.connection.addShutdownListener(new ShutdownListener() { @Override public void shutdownCompleted(ShutdownSignalException sse) { LOG.error("connection shutdown", sse); } }); this.requestChannel = this.connection.createChannel(); this.responseChannel = this.connection.createChannel(); LOG.info("connected."); this.requestChannel.basicQos(1); this.requestChannel.queueDeclare("request", false, false, true, null); this.responseChannel.addReturnListener(new ReturnListener() { @Override public void handleReturn(int replyCode, String replyText, String exchange, String routingKey, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); LOG.info("message not delivered to " + routingKey); LOG.info(message); } }); this.consumer = new DefaultConsumer(this.requestChannel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); this.getChannel().basicAck(envelope.getDeliveryTag(), false); if (handler != null) { ClassificationRequestMessage req = ClassificationRequestMessage.createInstance(message); handler.handleMessage(req, properties.getReplyTo()); } } }; this.workerThread = new Thread(new Runnable() { @Override public void run() { try { requestChannel.basicConsume("request", consumer); LOG.info("Waiting for messages"); } catch (IOException ex) { LOG.error("Exception occurred while consuming a message", ex); } } }); this.workerThread.start(); }
From source file:blocker.Blocker.java
/** * @param argv//w w w. j av a 2s . c o m */ public static void main(String[] argv) throws Exception { seconds = Integer.parseInt(argv[7]); ConnectionFactory factory = new ConnectionFactory(); factory.setHost(argv[0]); factory.setUsername(argv[2]); factory.setPassword(argv[3]); factory.setVirtualHost(argv[1]); Connection connection = factory.newConnection(); Channel channel = connection.createChannel(); channel.exchangeDeclare(argv[4], "direct", true); String queueName = channel.queueDeclare(argv[5], true, false, false, null).getQueue(); // exchange key channel.queueBind(queueName, argv[4], argv[6]); System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); Consumer consumer = new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); JSONParser parser = new JSONParser(); Thread.UncaughtExceptionHandler h = new Thread.UncaughtExceptionHandler() { @Override public void uncaughtException(Thread th, Throwable ex) { System.out.println("Uncaught exception: " + ex); } }; try { Object obj = parser.parse(message); JSONObject jobj = (JSONObject) obj; String IP = (String) jobj.get("clientip"); Thread t = new Thread(new BlockerThread(IP)); t.setUncaughtExceptionHandler(h); t.start(); } catch (ParseException ex) { Logger.getLogger(Blocker.class.getName()).log(Level.SEVERE, null, ex); } } }; channel.basicConsume(argv[5], true, consumer); }
From source file:bog.processing.rabbit.RabbitListener.java
License:Open Source License
public void Listen(String exchange, String host, Map<String, Object> params, String like) { try {/*from ww w. j a v a 2 s. c o m*/ ConnectionFactory factory = new ConnectionFactory(); factory.setHost(host); connection = factory.newConnection(); channel = connection.createChannel(); channel.queueDeclare(QUEUE_NAME, false, false, true, params); if (exchange != "") { channel.queueBind(QUEUE_NAME, exchange, ROUTING_KEY, params); } System.out.println(" [*] Waiting for messages..."); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume(QUEUE_NAME, true, consumer); (new Thread(new ListenerThread(consumer, messages, like))).start(); } catch (Exception e) { System.out.println(e); } }
From source file:br.uff.labtempo.omcp.common.utils.RabbitComm.java
License:Apache License
public void connect() throws ConnectionException { if (connection == null || !connection.isOpen()) { ConnectionFactory factory = new ConnectionFactory(); factory.setHost(this.host); if (this.user != null && this.pass != null) { factory.setUsername(this.user); factory.setPassword(this.pass); }//from ww w . ja v a 2s . co m try { connection = factory.newConnection(); } catch (Exception ex) {//IOException close(); this.checkHostOrDie(host); throw new ConnectionException("Could not connect to RabbitMQ", ex); } } else { throw new ConnectionException("Already connected to RabbitMQ"); } }
From source file:brooklyn.entity.messaging.rabbit.RabbitEc2LiveTest.java
License:Apache License
private Channel getAmqpChannel(RabbitBroker rabbit) throws Exception { String uri = rabbit.getAttribute(MessageBroker.BROKER_URL); LOG.warn("connecting to rabbit {}", uri); ConnectionFactory factory = new ConnectionFactory(); factory.setUri(uri);/*www .ja v a2 s .c o m*/ Connection conn = factory.newConnection(); Channel channel = conn.createChannel(); return channel; }
From source file:brooklyn.entity.messaging.rabbit.RabbitIntegrationTest.java
License:Apache License
private Channel getAmqpChannel(RabbitBroker rabbit) throws Exception { String uri = rabbit.getAttribute(MessageBroker.BROKER_URL); log.warn("connecting to rabbit {}", uri); ConnectionFactory factory = new ConnectionFactory(); factory.setUri(uri);//ww w . j ava2 s . c o m Connection conn = factory.newConnection(); Channel channel = conn.createChannel(); return channel; }
From source file:cc.gospy.core.remote.rabbitmq.RemoteScheduler.java
License:Apache License
private RemoteScheduler(String host, int port, String virtualHost, String username, String password, int qos, int timeoutInSeconds, String... targetQueue) { this.checker = new ScheduledThreadPoolExecutor(qos + 1); this.timeoutInSeconds = timeoutInSeconds; try {/*from w w w . j av a 2 s.c o m*/ this.factory = new ConnectionFactory(); this.factory.setHost(host); this.factory.setPort(port); this.factory.setVirtualHost(virtualHost); this.factory.setUsername(username); this.factory.setPassword(password); this.init(factory); this.declareBase(); this.targetQueueNames = targetQueue.length != 0 ? targetQueue : new String[] { DEFAULT }; this.declareTargets(targetQueueNames); this.setQos(qos); this.declareConsumers(); } catch (TimeoutException | IOException e) { e.printStackTrace(); } }
From source file:cc.gospy.core.remote.rabbitmq.RemoteServiceProvider.java
License:Apache License
private RemoteServiceProvider(DuplicateRemover remover, TaskFilter taskFilter, TaskDispatcher dispatcher, String host, int port, String virtualHost, String username, String password, int ttlInSeconds, boolean withPriority, String... specialQueues) { this.lazyTaskQueue = new TimingLazyTaskQueue(wakedTask -> { try {//from w w w.jav a 2 s . c o m this.publish(wakedTask); } catch (IOException e) { e.printStackTrace(); } }); this.duplicateRemover = remover; this.taskFilter = taskFilter; this.dispatcher = dispatcher; this.factory = new ConnectionFactory(); this.factory.setHost(host); this.factory.setPort(port); this.factory.setVirtualHost(virtualHost); this.factory.setUsername(username); this.factory.setPassword(password); this.specialQueues = specialQueues; this.withPriority = withPriority; this.arguments = new HashMap() { { if (ttlInSeconds != -1) { put("x-message-ttl", ttlInSeconds / 1000); logger.info("Picked up x-message-ttl: {}", ttlInSeconds / 1000); } if (withPriority) { put("x-max-priority", 255); logger.info("Picked up x-max-priority: 255"); } } }; }