Я новичок в RabbitMQ и пытаюсь отправить сообщение в RabbitMQ с помощью JMS. У меня есть следующая стандартная программа-производитель JMS:
public void sendMessage() {
Context context = null;
ConnectionFactory factory = null;
Destination destination = null;
Connection connection = null;
Session session = null;
MessageProducer producer = null;
Properties initialProperties = new Properties();
initialProperties.put(InitialContext.INITIAL_CONTEXT_FACTORY, "org.wildfly.naming.client.WildFlyInitialContextFactory");
initialProperties.put(InitialContext.PROVIDER_URL, "http-remoting://IP:PORT");
initialProperties.put(Context.SECURITY_PRINCIPAL, "mquser");
initialProperties.put(Context.SECURITY_CREDENTIALS, "Mquser@123");
try {
context = new InitialContext(initialProperties);
factory = (QueueConnectionFactory) context.lookup("jms/RemoteConnectionFactory");
System.out.println("Lookup Success");
destination = (Destination) context.lookup("jms/queue/TestQueue");
System.out.println("Queue lookup success");
connection = factory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
producer = session.createProducer(destination);
String text = "8=FIX.4.49=7735=349=A56=B34=352=20200115-13:18:26.000 45=322222=D100208103222223=40558=Invalid FIX2ITFMsgType10=226";
TextMessage textMessage = session.createTextMessage();
textMessage.setText(text);
connection.start();
System.out.println("Going to send");
producer.send(textMessage);
System.out.println(this.getClass().getName() + "has sent a message : " + text);
} catch (NamingException e) {
e.printStackTrace();
} catch (JMSException e) {
e.printStackTrace();
} finally {
if (context != null) {
try {
context.close();
} catch (NamingException ex) {
ex.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (JMSException ex) {
ex.printStackTrace();
}
}
}
}
, которую я использую для отправки сообщения в ActiveMQ Artemis, встроенного в JBoss EAP 7.2. Как я нашел в по этой ссылке , я не смогу использовать вышеуказанную программу для отправки сообщения в RabbitMQ, но у него будут следующие параметры:
- Имя пользователя
- Пароль
- VirtualHost
- Хост
- Порт
- DestinationName
- ExchangeName
- QueueName
- RoutingKey
Может кто-нибудь привести пример стандартной программы для отправки сообщения в RabbitMQ. Я использую Spring Boot и также могу использовать его функции.