我正在开发带有 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/