Java primavera enviar mensaje de vuelta a la cola de los consumidores

Yenka:

Tengo un servicio que envía el mensaje a RabbitMQ y el consumidor hacer alguna manipulación del mensaje y los re-cola.

Puedo enviar con éxito para RabbitMQ el mensaje inicial, pero el problema es que no puedo volver a enviar ningún mensaje a RabbitMQ consumido si el mensaje requiere modificaciones.

@Service
public class MyService {

    /**
     * The template
     */
    @Autowired
    private AmqpTemplate amqpTemplate;
    private final RabbitMQConfig config;

    public void send(String message) {
        try {
            amqpTemplate.convertAndSend("ex", "r", message);
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Luego, en mi config He fijado: pública @Bean ConnectionFactory ConnectionFactory () {/ * código de trabajo * /}

@Bean
public Queue myQueue() { return new Queue("my-queue"); 
// etc...

@Bean
MessageListenerAdapter myListenerAdapter(MyListener listener) {
    return new MessageListenerAdapter(listener, "listener");
}

@Bean
MyListener myListener() {
    return new MyListener();
}

luego...

public class MyListener {
    public void receiveMessage(String message) { 
        // ... some code
        // if message requires modification, then repush
        new Repush().push(message);
    }
}

Traté de crear una nueva clase de nuevo, pero el "myService" siempre nula

@Component
public class Repush {
    @Autowired
    private MyService myService;

    public void push(String message) {
        // myService is null at this point
    }
}
Demian Belsky:

No utilice newpara la creación de frijol. Campos de primavera inyecta solamente en los granos. Su MyListeneres un grano. Sólo tiene que añadir Repushcampo con @Autowiredanotación en esta clase.

public class MyListener {
    @Autowired
    private Repush repush;

    public void receiveMessage(String message) { 
        // ... some code
        // if message requires modification, then repush
        repush.push(message);
    }
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=212212&siteId=1
Recomendado
Clasificación