Como usar o Spring Autowired em um interceptador cxf personalizado?
Parece que me deparo com um pequeno problema ao usar @Autowired em um interceptor cxf personalizado. Meu caso de uso é que eu quero registrar mensagens de sabão e enviá-las usando o AMQP para outro sistema. Esse processo funciona para serviços normais etc. Mas, seja o que for que eu faça, as propriedades necessárias não são autofechadas e permanecem nulas.
Eu verifiquei o log do Spring DI e o contexto foi escaneado e selecionado, então o que está faltando?
Isso é possível em interceptadores CXF?
@Component
public class LogInInterceptor extends AbstractSoapInterceptor {
private @Value("#{rabbitMQProperties['rabbitmq.binding.log.soap']}")
String binding;
@Autowired
AmqpTemplate amqpTemplate;
public LogInInterceptor() {
super(Phase.RECEIVE);
}
@Override
public void handleMessage(SoapMessage soapMessage) throws Fault {
logIt(soapMessage);
}
private void logIt(SoapMessage message) throws Fault {
// rest of the code omitted...!!!
amqpTemplate.convertAndSend(binding, buffer.toString());
}
}