2015-05-18 3 views
0

Я реализовал JMS-производителя и пользователя, которые развернуты на двух разных хостах как в DMZ. Here Я читал, как определить пользовательский хост и порт для производителя. Но я не понимаю, где я должен поставить эту линию.Пользовательский порт ActiveMQ Producer

Вот мой код:

Connection connection = null; 
    try{ 

     System.out.println("Connecting to "+getBrokerUrl()); 
     connection = (new ActiveMQConnectionFactory(getBrokerUrl())).createConnection(); 
     connection.start(); 

     Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 
     Topic topic = session.createTopic(this.topicName); 

     TextMessage txtMsg = session.createTextMessage(); 
        txtMsg.setText(msg); 
        txtMsg.setJMSType(msgType); 

     MessageProducer producer = session.createProducer(topic); 
         producer.send(txtMsg); 

    } 
    catch(Exception e){ 
     System.out.println("Error: " + e.getMessage()); 
    } 
    finally{ 
     try{ 
      connection.close(); 
     } 
     catch(JMSException je){ 
      System.out.println("Unable to close connection: "+je.getMessage()); 
     } 
    } 

Может кто-нибудь мне помочь?

+0

Doing 'TCP: // myBrokerHost: 61616/локальный: 60606' я получаю следующее сообщение об ошибке: ' Java. net.ConnectException: Invalid Argument' Я думаю, что проблема заключается в разрешении _localhost_ – sirnino

ответ

0

Должно быть в ActiveMQConnectionFactory инстанции, вы передаете результат getBrokerUrl():

ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost"); 
+0

Если я заменил getrokerUrl() на «vm: // localhost», как я могу указать brokerUrl? – sirnino

+0

должна быть у URL-адрес Это пример только –

+0

Так что линия должна стать: 'ActiveMQConnectionFactory ConnectionFactory = новый ActiveMQConnectionFactory ("ВМ: // myBrokerHost: 61616/LOCALHOST: 60606");' и производитель должен опубликовать на myBrokerHost из порт 60606? – sirnino

Смежные вопросы