有没有办法在 MessageListener 中注入(inject)服务?

  @Autowired 
  @Qualifier("myServices") 
 
  MyServices myServices; 
 
  @Override 
  public void onMessage(final Message message, final byte[] pattern) { 
    myServices.call();  
} 

这种方式不注入(inject)服务。那是因为在@Configuration 中我们做了

    @Bean 
MessageListenerAdapter messageListener() { 
    return new MessageListenerAdapter( new RedisMessageListener() ); 
} 

有什么想法吗?

谢谢

请您参考如下方法:

这应该有效:(如果委托(delegate)已经是 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();  
  } 
} 


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!