在RabbitMQ中注入服务 - ConfirmCallback类不起作用

时间:2016-05-06 12:19:03

标签: spring-rabbitmq

我创建了一个单独的回调类,实现了ConfirmCallback接口并覆盖了confirm()。 Corrlation数据和ack工作正常。但是我已经使用@Autowired服务注入了一个服务,在从rabbitMQ成功获得ack后做了一些其他的活动。但是根本没有注入该服务引用。我在其他类中注入了相同的服务,它工作正常。我的代码

public MyConfirmCallback implements ConfirmCallback {

@Autowired
private PostAckService postAckService;

public void confirm(CorrelationData correlationData, Boolean ack){
   //check the ack and verify the correlationdata.
   postAckService.clearData(....);
}

}

postAckService抛出nullpointer异常。任何的想法 ?

1 个答案:

答案 0 :(得分:0)

MyConfirmCallback必须是应用程序上下文中的bean才能使自动连接工作。您不能在申请中使用new MyConfirmCallback()

如果您认为它是一个bean,请打开org.springframework的DEBUG日志记录;它会发出大量关于bean创建的信息。