我正在尝试使用 Apache Camel 3 Endpoint DSL。到目前为止,这是我的代码。它工作正常。这是一个测试,所以它真的很简单。它从目录中读取并记录文件内容。
@Component
public class TestRoute extends EndpointRouteBuilder{
final String componentName = "file";
final String path = "/in/";
@Override
public void configure() throws Exception {
FileEndpointBuilder srcFileEndpoint = file(componentName, path);
from( srcFileEndpoint ).log(LoggingLevel.INFO, "body, ${body}");
}//configure
}//TestRoute
但是当我尝试更改组件的名称时。例如 final String componentName = "myCustomFileComponent";
我在控制台中收到以下错误
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: myCustomFileComponent:///in/ due to: No component found with scheme: myCustomFileComponent
从这里,我知道我可以为示例中的端点myWMQ和myAMQ提供自定义名称。例如,路由从一个目录读取并写入另一个目录,我希望每个组件都以不同的方式进行配置。但是,如果我指定一个自定义组件名称,我会收到错误消息。因为它没有找到 custonName 组件。
我不知道它是否相关,但代码在 Spring Boot 项目中
- Apache Camel 版本 3.4.0 Spring Boot 版本 2.3.1