Я создал этот пример очереди в веб-интерфейсе:
Снимок экрана из веб-интерфейса ActiveMQ
Здесь это определение очереди:
Код: Выделить всё
queueBrowse/ExampleQueue?view=rss&feedType=atom_1.0
queueBrowse/ExampleQueue?view=rss&feedType=rss_2.0
Код: Выделить всё
package messageListener;
import javax.naming.*;
import java.util.Properties;
import javax.jms.*;
public class MessageListenerSender {
// Member-Variables
InitialContext initialContext;
ConnectionFactory connectionFactory;
Connection connection;
Session session;
Queue queue;
MessageProducer queueMessageProducer;
Topic topic;
MessageProducer topicMessageProducer;
// Connect to Message-Broker
public void connectToMessageBroker() throws Exception {
Properties properties = new Properties();
properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
properties.setProperty(Context.PROVIDER_URL, "tcp://localhost:61616");
initialContext = new InitialContext(properties);
connectionFactory = (ConnectionFactory) initialContext.lookup("ConnectionFactory");
connection = connectionFactory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
}
// Access Point-To-Point Queue
public void accessPointToPointQueue() throws Exception {
queue = (Queue) initialContext.lookup("/queue/ExampleQueue");
queueMessageProducer = session.createProducer(queue);
}
// Access Topic-Orientated Queue
public void accessTopicQueue() throws Exception {
topic = (Topic) initialContext.lookup("/topic/ExampleTopic");
topicMessageProducer = session.createProducer(topic);
}
// Send Messages
public void sendMessages() throws Exception {
Message message0 = session.createTextMessage("Hello World!");
queueMessageProducer.send(message0);
Message message1 = session.createTextMessage("Goodbye World!");
topicMessageProducer.send(message1);
}
// Close all Connections
public void closeConnections() throws Exception {
if (initialContext != null) {
initialContext.close();
}
if (connection != null) {
connection.close();
}
}
public static void main(String[] args) throws Exception {
MessageListenerSender messageListenerSender = new MessageListenerSender();
messageListenerSender.connectToMessageBroker();
messageListenerSender.accessPointToPointQueue();
messageListenerSender.accessTopicQueue();
messageListenerSender.sendMessages();
messageListenerSender.closeConnections();
}
}
Код: Выделить всё
Exception in thread "main" javax.naming.NameNotFoundException: queueBrowse/ExampleQueue?view=rss&feedType=atom_1.0
at org.apache.activemq.jndi.ReadOnlyContext.lookup(ReadOnlyContext.java:235)
at java.naming/javax.naming.InitialContext.lookup(InitialContext.java:409)
at messageListener.MessageListenerSender.accessPointToPointQueue(MessageListenerSender.java:40)
at messageListener.MessageListenerSender.main(MessageListenerSender.java:74)
Я хочу настроить отправителя и получателя, которые взаимодействуют через ActiveMQ.
Подробнее здесь: https://stackoverflow.com/questions/781 ... e-activemq
Мобильная версия