es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo crear un servicio REST en Apache Camel que route hacia un punto de consumo?

Estoy tratando de construir un chat utilizando xmpp como productor y consumidor.
Tengo el siguiente código:

rest(“/xmppchat”)
.get()

.to("direct:jennychat");

from("direct:jennychat")
.process(new Processor() {
    public void process(Exchange exchange) throws Exception {

        exchange.getIn().setBody("hola maro");
   }
})
.to("xmpp://JID:puerto?participante=JID&contraseña=OneTeam2020;");

//esta ruta no funciona
from(“xmpp://JID:puerto?participante=JID&contraseña=OneTeam2020”)

.setBody(constant("¡Voy a ganar! \n Tu Superman."))
.log("${body}");

Sin embargo, la segunda ruta no se inicia porque en la parte de rest no enruté hacia ella, pero no sé cómo hacerlo ya que no puedo usar el componente direct en from. ¿Alguna idea de cómo hacerlo?
Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para enrutar hacia la segunda ruta utilizando XMPP, puedes utilizar el método to después de la ruta from del componente rest.

    Aquí te proporciono un fragmento de código actualizado:

    rest("/xmppchat")
            .get()
            .to("direct:jennychat");
    
    from("direct:jennychat")
        .process(new Processor() {
            public void process(Exchange exchange) throws Exception {
                exchange.getIn().setBody("hola maro");
           }
        })
        // ruta hacia el productor XMPP
        .to("xmpp://JID:port?participant=JID&password=OneTeam2020");
    
    from("xmpp://JID:port?participant=JID&password=OneTeam2020")
        .setBody(constant("¡Voy a ganar!\n Tu Superman."))
        .log("${body}");
    

    Al agregar el método to a la ruta from("direct:jennychat"), podemos enrutar la salida hacia la ruta del productor XMPP (from("xmpp://JID:port?participant=JID&password=OneTeam2020")). Esto te permite consumir los mensajes producidos por XMPP, así como producir mensajes utilizando tu punto final REST.

    ¡Espero que esto te sea de ayuda!

Comments are closed.