Я пытаюсь реализовать пользовательскую конечную точку в приложении Spring Boot.
Цель состоит в том, чтобы использовать маршруты как: from("...").process("...").to("my:...");
Теперь у меня есть 3 класса: DefaultConsumer, DefaultEndpoint, DefaultComponent:
package com.my.endpoint;
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.support.DefaultEndpoint;
public class MyEndpoint extends DefaultEndpoint {
public MyEndpoint(String uri, MyComponent myComponent) {
}
...
}
package com.my.endpoint;
import org.apache.camel.Endpoint;
import org.apache.camel.Processor;
import org.apache.camel.support.DefaultConsumer;
public class MyConsumer extends DefaultConsumer {
public MyConsumer(Endpoint endpoint, Processor processor) {
super(endpoint, processor);
}
}
package com.my.endpoint;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.spi.annotations.Component;
import org.apache.camel.support.DefaultComponent;
import java.util.Map;
@Component("my")
public class MyComponent extends DefaultComponent {
public MyComponent(CamelContext camelContext) {
super(camelContext);
}
...
}
Теперь: как я могу зарегистрироваться?
В классе конфигурации Spring у меня есть:
@Override
public void configure() throws Exception {
camelContext.addComponent("my", new MyComponent(camelContext));
Но не работает:
Caused by: org.apache.camel.NoSuchEndpointException: No endpoint could be found for: my, please check your classpath contains the needed Camel component jar.
Итак, я добавил файл META-INF в services/org/apache/camel/component/my:
class=com.my.endpoint.MyComponent
Но и это не работает.
Полного руководства по реализации этого нет.
Любая помощь?
Примечание. Я пытаюсь реализовать конечную точку, потому что мне нужно интегрировать свои системы с использованием моих типов данных. Я пытался использовать Transformer, но потерпел неудачу из-за этого: Установите пользовательский тип данных в Apache Верблюжий процессор
Раньше я пытался использовать преобразователь типов данных, но потерпел неудачу из-за этого (помечено как дубликат, потому что люди слишком ленивы, чтобы действительно понимать вопросы): Применить преобразование типов для потребителя Rest в Apache Camel
Я ПОЛНОСТЬЮ прочитал Apache Camel In Action, Second Edition, но на данный момент я не могу продолжать свой проект из-за?