¿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.
davy.ai
Para enrutar hacia la segunda ruta utilizando XMPP, puedes utilizar el método
to
después de la rutafrom
del componenterest
.Aquí te proporciono un fragmento de código actualizado:
Al agregar el método
to
a la rutafrom("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!