En el post anterior creamos un componente en Camel, y ahora vamos a aprender qué es un endpoint mirando además el código de nuestro proyecto (HelloWorldEndpoint.java).
Un endpoint es la interface a través de la cual los sistemas externos pueden enviar y recibir mensajes, permitiendo así la integración de sistemas en Camel.
La función de un endpoint es crear productores y consumidores, lo que nos permite usar este endpoint como to y from dentro de una ruta Camel.
En este ejemplo, Camel comprueba que file es el nombre asociado al componente FileComponent. Entonces, se le "avisa" a este componente de que tiene que crear un FileEndpoint utilizando el resto de la URI. En este caso, data/inbox sería la carpeta dónde se tendrían que leer/escribir los ficheros (from/to en una ruta respectivamente).
Referencia: Camel in Action
Un endpoint es la interface a través de la cual los sistemas externos pueden enviar y recibir mensajes, permitiendo así la integración de sistemas en Camel.
La función de un endpoint es crear productores y consumidores, lo que nos permite usar este endpoint como to y from dentro de una ruta Camel.
public Producer createProducer() throws Exception { return new HelloWorldProducer(this); }
public Consumer createConsumer(Processor processor) throws Exception { return new HelloWorldConsumer(this, processor); }Si queremos que nuestro componente sólo tenga por ejemplo un productor, se recomienda lanzar una excepción, en este caso al querer crear un consumidor:
public Consumer createConsumer() throws Exception { throw new UnsupportedOperationException( "No puede recibir mensajes el endpoint:" + getEndpointUri()); }Se configuran mediante URIs siguiendo el siguiente formato:
[componente]:[contexto]?[opciones]Ejemplo URI: file:data/inbox
En este ejemplo, Camel comprueba que file es el nombre asociado al componente FileComponent. Entonces, se le "avisa" a este componente de que tiene que crear un FileEndpoint utilizando el resto de la URI. En este caso, data/inbox sería la carpeta dónde se tendrían que leer/escribir los ficheros (from/to en una ruta respectivamente).
Referencia: Camel in Action