java - 无法在 apache-camel 中创建路由

标签 java rest spring-boot apache-camel

我正在开发带有 Camel 路线的 Spring 休息应用程序。我需要为每个休息调用创建路由并将数据传输到另一个肥皂服务器。这是我的代码片段。

休息 Controller

public class CreateEmployeeController{
@Autowired
ProducerTemplate producerTemplate;

@RequestMapping (value = "/api/createEmployee",method = RequestMethod.POST)
public void createEmployee(@RequestBody Object employee) {
    producerTemplate.sendBody("direct:createEmployee",employee);
}

Camel 配置

@Configuration
@ComponentScan ("com.employee.restService")
public class RouteConfig extends CamelConfiguration {

}

Camel 路线

@Configuration
@Component
public class CreateEmployeeRouter extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        from("direct:createEmployee")
                .to("spring-ws:CreateEmployeeEndpointService");
    }
}

依赖

<dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-core</artifactId>
            <version>2.19.2</version>
        </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.camel/camel-cxf -->
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-cxf</artifactId>
        <version>2.19.2</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.camel/camel-spring-javaconfig -->
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-spring-javaconfig</artifactId>
        <version>2.19.2</version>
    </dependency>
<!-- https://mvnrepository.com/artifact/org.apache.camel/camel-spring-ws -->
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-spring-ws</artifactId>
    <version>2.19.2</version>
</dependency>

<dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-spring-boot</artifactId>
        <version>2.19.2</version>
    </dependency>

堆栈跟踪

    org.apache.camel.spring.boot.CamelSpringBootInitializationException: 
org.apache.camel.FailedToCreateRouteException: Failed to create route 
route1 at: >>> To[spring-ws:CreateEmployeeEndpointService] <<< in route: 
Route(route1)[[From[direct:createEmployee]] -> [To[spring-ws... because of Failed to resolve endpoint: spring-ws://CreateEmployeeEndpointService due to: No component found with scheme: spring-ws
        at org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(RoutesCollector.java:225) ~[camel-spring-boot-2.19.2.jar:2.19.2]

如果我错了,请帮助我。 提前致谢。

最佳答案

将你的camel依赖项切换到2.20.0,它对我有用

关于java - 无法在 apache-camel 中创建路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45961342/

相关文章:

Java - 如何将我自己的类中的对象转换为主类中的字符串?

java - 测试环境中的JPA @PrePersist

java - Jersey :找不到类的语法元素

ruby - 转406或不转406(http状态码)

spring-boot - Spring Boot - 无法从 application.yml 读取自定义属性

java - 错误 1064 : SQL syntax error

java.lang.NoClassDefFoundError : org/apache/log4j/Level - slf4j? 错误

java - Jersey Restful 服务通信 (IncompatibleClassChangeError)

java - 更好的 Elasticsearch 客户端从 JAVA Spring-boot 连接 AWS Elasticsearch

java - 我可以将内部 Spring Boot 变量传递给 gradlew 吗?