我创建了一个单独的回调类,实现了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异常。任何的想法 ?
答案 0 :(得分:0)
MyConfirmCallback
必须是应用程序上下文中的bean才能使自动连接工作。您不能在申请中使用new MyConfirmCallback()
。
如果您认为它是一个bean,请打开org.springframework
的DEBUG日志记录;它会发出大量关于bean创建的信息。