假设我想利用 Camel 作为 RESTful Web 服务的客户端。但不确定骆驼是否足以胜任这种工作。我也想使用 http4 或 ahc 组件,而不是 cxf。
一般来说,我只需要两种路线:
- 从 Bean -> 编组到 Json -> 到带有静态 URI 的 Ahc -> 从 Json 解组 -> 到 Bean。静态 uri 示例:
ahc:http://host/api/user/create
- 从 Bean -> 编组到 Json -> 到带有动态 URI 的 Ahc -> 从 Json 解组 -> 到 Bean。动态 uri 示例:
ahc:http://host/api/user/id/1
我想有一个服务类以如下方式触发这样的路线:
UserService {
@Autowired
protected CamelContext restApiCamelContext;
public UserCreateResponse createUser (UserModel user) {
... Camel's magick which starts create user route ...
}
public UserModel getUserById (Long id) {
... the id must be placed somehow into endpoint uri: http://host:port/api/user/id/${id} ...
... Camel's magick which get user by id ...
}
}
UserService 应该在 Spring MVC 控制器中使用。
那么,有没有可能基于Camel的能力来实现这样一个UserService呢?如果是的话,那么它在大量用户请求进入弹簧控制器的高压下是否能正常工作?它可以与近百种不同的 uri 一起正常工作吗?