问题标签 [apache-camel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
osgi - maven 插件用于构建包含骆驼路由和一些 POJO 的 osgi 包,用于在 fuse-servicemix 4.3.0 中部署?
哪个 maven 插件用于构建包含骆驼路由和一些 POJO 的 osgi 包,用于在 fuse-servicemix 4.3.0 中部署。我已经使用了 pax 和 maven-bundle 插件来部署到 fuse servicemix 中。使用这些我得到了很多错误。还有其他好的 maven-plugin 吗?
spring - apache-servicemix-4.3.0-fuse-00-00 中的 ClasspathXMLApplicationContext 问题
我遵循了《行动中的骆驼》这本书第 14 章中的示例。我希望通过业务逻辑隐藏中间件。使用“camel:run:”进行开发时,一切似乎都运行良好。配置文件如下:
然后出现了在 servicemix 中部署它的要求。我遵循了保险丝指南并了解了所需的步骤。我需要将 bean 模式更改为(我假设)
<
最后,为了在客户端使用代理,我这样做:
我收到以下错误,我似乎无法修复。我不认为我在这里做错了什么,请帮助。我已经用尽了我的搜索,似乎没有人能够回答这个问题。感谢这里的任何帮助。我的 karaf.framework=equinox 和正确的包已经安装。
java - 将 Scala 与 Apache Camel 结合使用是否存在已知问题?
我知道 Camel 支持 Scala DSL。除此之外
对于基于 Camel 的项目,用 Scala 完全替换 Java(语言)是否现实?
已知存在哪些已知问题?
这些问题存在哪些解决方法(使用 Java 除外)?
我主要是在寻找更少的样板代码。
apache-camel - 带参数的 Apache Camel exec
使用exec
组件时,是否可以指定 args inline 而不必在ExecBinding.EXEC_COMMAND_ARGS
?
例如我有这条路线:
但是我会认为我可以使用简单表达式语言来简化它,如下所示:
类似于在使用文件组件时如何使用文件语言(Simple 的子集)。
是否可以?如果不是,可以简化第一个示例吗?
更新[解决方案]:
谢谢。
esb - Apache Camel 集成测试 - NotifyBuilder
我正在编写集成测试来测试现有的路由。获得响应的推荐方式如下所示(通过Camel In Action第 6.4.1 节):
测试运行,但我什么也没得到。5assertTrue(matches)
秒超时后失败。
如果我将测试重写为如下所示,我会得到响应:
文档对此有点了解,所以谁能告诉我第一种方法我做错了什么?改用第二种方法有什么问题吗?
谢谢。
更新 我已经对此进行了分解,看起来问题在于将seda作为起始端点与在路由中使用接收者列表相结合。我还更改了 NotifyBuilder 的构造(我指定了错误的端点)。
- 如果我将起始端点更改为 直接而不是seda,那么测试将起作用;或者
- 如果我注释掉收件人列表 ,那么测试将起作用。
这是重现此问题的 Route 的精简版本:
请注意,如果我将NotifyTest的源代码从“ Camel In Action ”源更改为具有这样的路由构建器,那么它也会失败。
java - 为什么在调用 Camel 路由的 CXF-RS 端点时会收到 NullpointerException?
我的应用程序是一个 java webapp (WAR),它使用 Apache Camel 和(以及其他)CXF-RS 及其相应的 Camel 组件作为 JAX-RS 的实现,向外界提供 ReSTful 服务。
当使用 HTTP POST 和有效负载调用端点之一时,我得到了异常堆栈跟踪,如下所示。请注意,com.foo.FooService 和 com.foo.Foo 类是 JAXRS 注释的服务/资源对。
我特别困惑的是 create() 方法实际上被调用了,因为据我了解,用于 Camel 的 CXF-RS 以某种方式执行了一些魔术来拦截传入请求并将请求路由到 Camel 路由。
这些是类的简化版本:
我在我的 Spring XML 中配置 cxf:rsServer 如下:
路由在 Java 中定义如下:
这是我得到的例外:
php - 使用 Camel 来自 ActiveMQ 的 HTTP 发布
我们使用骆驼路由将值从队列发布到 http 端点。
我已经使用骆驼的http 组件成功设置了路由,但是我无法获取要发布的 jms 消息的正文。
例如,我的路线是这样设置的:
这会导致 POST,但消息正文未显示在我的 POST 字符串中(如 $_SERVER 中的 print_r'd):
注意 REQUEST_METHOD 是 POST,但 argv 不包含消息体。
简而言之,我需要将消息正文从“from”路由传输到“to”路由,以便它可以作为 POST 发送,但我以某种方式失败了。
提前致谢。
solr - 有 Solr-Camel 组件吗?
我一直在寻找这个,但还没有找到任何东西。有什么理由吗?我想用骆驼集成框架代理一个 solr 服务器,我知道没有它它必须非常简单,但不那么优雅:)。
如果有人对此进行了研究,我希望得到一些反馈。
尼古拉斯。
architecture - 适合集成+迁移场景重写的架构
最近,我们在我工作的公司启动了一个项目,以重组和改写我们的系统环境并拯救我们孩子的未来。
我们有 3-4 个遗留系统,由于可怕的代码,它们绝对无法适应新的用例,但仍然每天通过不同的接口和格式(如电子邮件、xmlrpc、webinterface)处理大量订单。
所以我们考虑基于完全重新设计的领域模型从头开始编写一个新系统。由于我们不能简单地关闭旧系统并且是一个非常小的团队,我们得出的结论是,我们需要一种架构和方法,使我们能够逐步开发新系统并轻松地将其部分投入使用(阅读;快速)集成新接口、合作伙伴以及与旧应用程序和接口。
这个想法是从头开始完全重新设计整个域模型,创建一个订单服务,并使用带有 OSGi 容器的 Apache Camel 来模仿将订单路由到旧系统和新系统的旧接口,并将格式处理和传输本身解耦从新系统。由于逐步发展,我们希望选择更加“以服务为中心”的架构,这将使我们能够逐步改进,可重用性和可扩展性。这一切在纸上听起来都不错,我读了很多关于“SOA”的文章,但直到等待炒作消失和“好的部分”留下来,但大部分谈话仍然是一个非常抽象和不精确的“技术”销售”的水平。
如果我的实体有很多关系,比如订单,我发现“基本/共享数据服务”方法很成问题,而且图表很大。如果我要为 Orders 和其他实体上的 CRUD 操作创建一个单独的服务以作为更抽象的基础,那么处理 ACID、关系完整性将是非常有问题或不可能的,或者您将不得不牺牲这些服务的自主性和互连它们,这将使服务变得非常无用(并且可能非常缓慢)。还是我理解错了?
所以我的想法是使用漂亮的 JPA POJO(当然还有接口)简单地创建一个“传统”DAL,并将其部署为一个简单的、版本化的 OSGi 包,以供业务和流程服务使用,具有更抽象的映射。然后这些服务将简单地使用它并将它们的接口暴露给总线。为了满足需要访问单个数据的罕见情况,例如骆驼或批量数据导入或报告中的内容丰富,可以创建一个丑陋的“包含所有实体的服务”,这将解决 ACID 和完整性问题。
到目前为止一切都很好,但是:WebUI(正如我提到的主要是 CRUD,因此不是真正的抽象过程)应该如何访问数据?直接使用 JPA POJO 会使其耦合得非常紧密,但是创建映射并引入另一个几乎相同的模型并使用前面提到的“怪物 DAL 服务”听起来也不太好。
你怎么看?感觉、优雅和实用性之间的良好平衡在哪里?
很抱歉,这是几个问题,而且文字很长,但我觉得更详细地描述我们在这里面临的情况很重要。
感谢您的时间 :)
java - 记录骆驼路线
我的项目中有几个 Camel 上下文,如果可能的话,我想以逆向工程的方式记录路线,因为我们希望保持与上下文相关的文档是最新的。最好的方法是什么?