Java 自定义ActiveMQ生产者端口
我已经实现了JMS生产者和消费者,它们部署在DMZ中的两个不同主机上。 我阅读了如何为生产者定义自定义主机和端口。但我不明白我该把这条线放在哪里 这是我的密码:Java 自定义ActiveMQ生产者端口,java,jms,port,activemq,producer,Java,Jms,Port,Activemq,Producer,我已经实现了JMS生产者和消费者,它们部署在DMZ中的两个不同主机上。 我阅读了如何为生产者定义自定义主机和端口。但我不明白我该把这条线放在哪里 这是我的密码: Connection connection = null; try{ System.out.println("Connecting to "+getBrokerUrl()); connection = (new ActiveMQConnectionFactory(getBrokerUrl()))
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());
}
}
有人能帮我吗?应该在您正在传递getBrokerUrl结果的ActiveMQConnectionFactory实例中:
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost");
如果我用vm://localhost替换getrokerUrl,我如何指定brokerUrl?应该是u url这只是一个示例,因此该行应该是:ActiveMQConnectionFactory connectionFactory=new ActiveMQConnectionFactoryvm://myBrokerHost:61616/localhost:60606; 生产者应该从端口60606在myBrokerHost上发布?为每个主机创建一个单独的ActiveMQConnectionFactory和单独的MessageProducerMaybe,因为我无法正确解释问题。。。我只有一个从生产者本地主机到代理myBrokerHost的连接。代理正在侦听默认端口61616;如何强制本地主机上的生产者从特定端口(例如60606)发送消息?正在执行tcp://myBrokerHost:61616/localhost:60606 我得到以下错误:java.net.ConnectException:Invalid参数我认为问题在于localhost的解决方案