是否仍要在MessageListener中注入服务?
@Autowired
@Qualifier("myServices")
MyServices myServices;
@Override
public void onMessage(final Message message, final byte[] pattern) {
myServices.call();
}
这样就不会注入服务。因为在@configuration中
@Bean
MessageListenerAdapter messageListener() {
return new MessageListenerAdapter( new RedisMessageListener() );
}
知道吗?
谢谢
最佳答案
这应该有效:(如果委托已经是MessageListener,则不需要MessageListenerAdapter):
@Component
public class MyListener implements MessageListener {
@Autowired
@Qualifier("myServices")
MyServices myServices;
@Override
public void onMessage(final Message message, final byte[] pattern) {
myServices.call();
}
}