在 Web 应用程序启动时使用 Spring AMQP 创建新队列
Creating a new Queue using Spring AMQP on web application startup
我正在尝试在我的 Web 应用程序的服务器启动时使用 Spring AMQP 在 RabbitMQ 中创建一个新队列。我没有得到如何实现它的确切配置代码。
下面是我的代码片段。请更正以下内容。
@Configuration
public class RabbitMQConfiguration {
@Bean
public ConnectionFactory rabbitConnectionFactory() {
CachingConnectionFactory connectionFactory = new CachingConnectionFactory("10.165.18.29");
connectionFactory.setUsername("User");
connectionFactory.setPassword("user");
return connectionFactory;
}
@Bean
public SimpleMessageListenerContainer messageListenerContainer() {
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
container.setConnectionFactory(rabbitConnectionFactory());
container.addQueueNames("create.queue");
container.setMessageListener(exampleListener());
return container;
}
@Bean
public MessageListener exampleListener() {
return new MessageListener() {
public void onMessage(Message message) {
System.out.println("received: " + message);
}
};
}
}
只需添加 <rabbit:queue ... />
个 bean 和一个 <rabbit:admin ... />
,管理员将在首次建立连接时自动声明队列。
我正在尝试在我的 Web 应用程序的服务器启动时使用 Spring AMQP 在 RabbitMQ 中创建一个新队列。我没有得到如何实现它的确切配置代码。 下面是我的代码片段。请更正以下内容。
@Configuration
public class RabbitMQConfiguration {
@Bean
public ConnectionFactory rabbitConnectionFactory() {
CachingConnectionFactory connectionFactory = new CachingConnectionFactory("10.165.18.29");
connectionFactory.setUsername("User");
connectionFactory.setPassword("user");
return connectionFactory;
}
@Bean
public SimpleMessageListenerContainer messageListenerContainer() {
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
container.setConnectionFactory(rabbitConnectionFactory());
container.addQueueNames("create.queue");
container.setMessageListener(exampleListener());
return container;
}
@Bean
public MessageListener exampleListener() {
return new MessageListener() {
public void onMessage(Message message) {
System.out.println("received: " + message);
}
};
}
}
只需添加 <rabbit:queue ... />
个 bean 和一个 <rabbit:admin ... />
,管理员将在首次建立连接时自动声明队列。