【发布时间】:2016-05-19 19:15:35
【问题描述】:
1) 下面是rabbitMQ的Spring配置代码。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rabbit="http://www.springframework.org/schema/rabbit"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/rabbit
http://www.springframework.org/schema/rabbit/spring-rabbit-1.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">
<context:component-scan base-package="com.messaging.impl" />
<rabbit:connection-factory id="connectionFactory"
host="${rabbitmq.host}" port="${rabbitmq.port}"
username="${rabbitmq.username}" password="${rabbitmq.password}"
channel-cache-size="${rabbitmq.ChannelCacheSize}"
requested-heartbeat="${rabbitmq.requestedHeartBeat}" />
<rabbit:template id="amqpTemplate" connection-factory="connectionFactory"
exchange="${request.exchange}" queue="${request.out.queue}" />
<rabbit:admin id="rabbitAdmin" connection-factory="connectionFactory" />
<rabbit:queue name="${request.out.queue}"
declared-by="rabbitAdmin" />
<rabbit:listener-container
connection-factory="connectionFactory">
<rabbit:listener queues="${request.out.queue}"
ref="messageSender" />
</rabbit:listener-container>
<bean id="messageSender"
class="com.messaging.impl.MessageSenderImpl" />
<rabbit:topic-exchange name="${request.exchange}"
declared-by="rabbitAdmin">
<rabbit:bindings>
<rabbit:binding queue="${request.out.queue}"
pattern="routingkey.*" />
</rabbit:bindings>
</rabbit:topic-exchange>
</beans>
2) 下面是 Java sender 类的代码。
@Service
public class MessageSenderImpl implements MessageSender {
@Autowired
private AmqpTemplate amqpTemplate;
public void sendMessage(String message){
amqpTemplate.convertAndSend(message);
System.out.println("message is" +message);
}
}
3) pom.xml 有以下依赖
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-amqp</artifactId>
<version>1.5.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>1.5.3.RELEASE</version>
</dependency>
我没有找到可用于此要求的完整示例。我在检查了各种网站并选择了此设置所需的网站后提出了此配置。请指教。
注意:- 我已经实现了发布到交易所并从队列中读取。但是,我需要有关如何实施失败场景的建议。请指教。
【问题讨论】:
标签: java spring rabbitmq spring-integration spring-amqp