2016-02-25 2 views
1

Я новичок в RabbitMq.Это моя первая программа. Но это дает некоторую ошибку. Мой код подобенОшибка RabbitMq -Соединение отказано: connect

import com.rabbitmq.client.ConnectionFactory; 
import com.rabbitmq.client.Connection; 

import java.util.concurrent.TimeoutException; 

import com.rabbitmq.client.Channel; 
import com.rabbitmq.client.ConnectionFactory; 
public class Send { 

    private final static String QUEUE_NAME = "hello"; 



    public static void main(String[] argv) 
      throws java.io.IOException, TimeoutException { 

     ConnectionFactory factory = new ConnectionFactory(); 
     factory.setHost("localhost"); 
     Connection connection = factory.newConnection(); 
     Channel channel = connection.createChannel(); 
     channel.queueDeclare(QUEUE_NAME,false,false,false,null) ; 
     String message = null; 
     channel.basicPublish("", QUEUE_NAME, null, message.getBytes()); 
     System.out.println(" [x] Sent '" + message + "'"); 
     channel.close(); 
     connection.close(); 


    } 

} 

и мой класс приемника, как

import com.rabbitmq.client.ConnectionFactory; 
import com.rabbitmq.client.Connection; 

import java.io.IOException; 
import java.util.concurrent.TimeoutException; 

import com.rabbitmq.client.AMQP; 
import com.rabbitmq.client.Channel; 
import com.rabbitmq.client.Consumer; 
import com.rabbitmq.client.DefaultConsumer; 
import com.rabbitmq.client.Envelope; 
public class Receive { 
    private final static String QUEUE_NAME = "hello"; 

    public static void main(String[] args) throws IOException, TimeoutException { 
     // TODO Auto-generated method stub 
     ConnectionFactory factory = new ConnectionFactory(); 
     factory.setHost("localhost"); 
     Connection connection = factory.newConnection(); 
     Channel channel = connection.createChannel(); 

     channel.queueDeclare(QUEUE_NAME, false, false, false, null); 
     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"); 
       System.out.println(" [x] Received '" + message + "'"); 
      } 
      }; 
      channel.basicConsume(QUEUE_NAME, true, consumer); 
    } 

} 

Теперь, когда я бегу класс он дает ошибку, как

Exception in thread "main" java.net.ConnectException: Connection refused: connect 
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:589) 
    at com.rabbitmq.client.impl.FrameHandlerFactory.create(FrameHandlerFactory.java:32) 
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:676) 
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:722) 
    at Send.main(Send.java:19) 

Я не получаю эту ошибку. Я также установил сервер RabbitMq. Я не знаю, как создать экземпляр сервера. Может ли кто-нибудь помочь мне решить эту ошибку? мне нужно делать какие-либо изменения в конфигурациях eclipse?

ответ

1

я думаю, вам нужно указать адрес порта, а также проверьте, вы не можете связаться с RabbitMQ с обычной просьбой HTTP поэтому, пожалуйста, проверьте, что а

+0

Да его работы сейчас .. Но теперь он бросает исключения нулевого указателя? Я не знаю, почему это исключение? –

+0

Я не знаю, как реализовать rabbitMQ в Java, потому что я реализовал это из node.js –

+0

Я получил его .... String message = null; вот почему он выбрасывал исключение .. Теперь его работа отлично ... Спасибо .. –