作为一名经验丰富的Spring用户,我认为Spring集成在最近一个需要一些(JMS)消息传递功能(more details)的项目中最有意义.在使用Spring Integration工作了几天之后,考虑到您必须配置大量通道才能实现一些请求-响应(监听不同的JMS队列)通信,所以仍然感觉需要大量的配置开销.

因此,我在寻找一些背景信息,了解Camel与Spring Integration的不同之处,但我发现,这些信息似乎非常多余:

问题是:在使用一个堆栈而不是另一个堆栈时,您有什么经验?如果Spring集成缺乏支持,您会推荐Camel在哪些场景中?你认为每种方法的优缺点是什么?我们非常感谢来自现实世界项目的任何建议.

推荐答案

我们选择Camel而不是Spring集成,因为fluent API非常好.我们实际上在Spring项目中使用它,并使用Spring来配置它的一部分.编程API非常清晰,有大量合理的组件.

我们进行了一场小规模的枪战,基本上当时我们要求骆驼获胜.我们主要使用它与外部各方之间传输内部数据文件,这通常需要进行格式转换,使用ftp/sftp/.或者将其附加到邮箱中并将其发送出去.

我们发现编辑编译调试周期缩短了.使用groovytry 设置路由是额外的好处.

Spring-Integration也是一个很棒的产品,我确信它也会满足我们的需求.

Java相关问答推荐

如何使用反射在Java中获取注释的属性?

执行程序暂停并且不处理挂起的队列

如何在运算符中判断当前元素是最后一个元素?

JavaFX 中的选择边框.想用 CSS 改变默认行为

try 将 JSON 文件或字符串转换为 CSV 文件会得到一个空的 CSV 文件

将 4 个已排序的数组合并为一个

使用状态模式了解对象的状态

如何使用 Spring SAML2 禁用自动生成的页面 /login 和 /logout?

从 List 到 List 的 Java 流

将 JGIT 库添加到项目中会导致资源重叠

春天卡夫卡 |如何使 DeserializationException 可重试?

java.util.Base64.getDecoder().decode 和 org.asynchttpclient.util.Base64.decode 有什么区别?

没有@Target 的注解类型可以在任何地方使用吗?

使用 Comparable 接口禁止继承类型之间的比较

Java中的重复输出

如何在 Intellij 中关闭“将文件添加到 git”?

如何使用 Math.random() 在 Java 中模拟 60% 的概率

迷宫 2D 递归算法死胡同问题

org.apache.kafka.common.errors.SerializationException:未知的魔术字节

如何找到与同一对象关联的最大对象计数