问题标签 [apache-servicemix]
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.
java - Apache ServiceMix 入门指南
开始使用 Apache ServiceMix 的权威指南是什么?网站上的操作方法和指南过于复杂,无法从头开始。
java - 集成 ESB(ServiceMix/Mule)是否值得学习曲线?
我正在考虑将 ESB 集成到现有的基于 Web 的 Java/Maven 产品中。具体来说,我正在研究 ServiceMix 和 Mule。该产品将连接到多种不同的服务,包括电子邮件、Quartz、基于 HTTP、SMS 和 IM 的 RESTful 网络服务。我只是快速浏览了文档,这两个选项似乎相当重量级且相当复杂。这似乎是何时使用 ESB 的教科书示例,但我不想花费大量时间来学习一个或另一个系统。
就像我说的,我已经有一个由 Maven 构建的 Web 应用程序,并且希望集成其中一个系统会相当简单,即使只是像发送电子邮件这样简单的事情,但看起来添加任何一个都会吸引一半的世界罐子的条款,很难嵌入到现有的产品中。
是否值得尝试使用这些选项之一?有没有一种简单的方法可以将它们集成到现有的应用程序中而无需完全重构它?还有其他更轻的选择吗?是否有一些我应该考虑的方面会使它们值得使用?
osgi - Servicemix 4、DOSGi 和 Zookeeper
这是从fusesource 论坛和servicemmix 论坛交叉发布的。
我无法让 DOSGi 在 FUSE 中工作。我正在尝试通过 Zookeeper 发现将 CXF 的 DOSGi 1.1-SNAPSHOT 放到 FUSE 4.1.0.2 上。我也在使用 Zookeepr 3.2.1。
一切都在 Felix 2.0.0 上完美运行。我只是按照DOSGi Discovery 页面上的说明安装Discovery Demo包。对于 DOSGi,我只使用cxf-dosgi-ri-singlebundle-distribution-1.1-SNAPSHOT.jar用于 DSW 和 cxf-dosgi-ri-discovery-singlebundle-distribution-1.1-SNAPSHOT.jar 用于 zookeeper 发现。然后,当我在一台机器上使用示例服务 impl 启动示例包时,我会在 zookeeper 中看到节点创建。然后我在另一台机器上启动示例客户端,并在服务机器上看到输出。效果很好。我确实有一个关于 xml 错误被忽略的警告,因为找不到一些 XSD,但它似乎没有任何影响。哦,我还必须先安装 OSGi 纲要包。
当我搬到 Fuse 时,我没有这样的运气。OSGi 纲要包附带了 fuse,因此无需安装它。我应该只能安装 dosgi-ri 单包和 dosgi-ri-discovery 单包,但这不起作用。dosgi-ri singlebundle 有各种与 servicemix 重叠的包。我收到有关端口 8081 的错误?或者无论 osgi.http.service 参数是什么,都已经在使用中。显然,dosgi-ri singlebundle 带有 pax webservice,它读取与 servicemix 附带的 servicemix http 服务包相同的属性。那是当我切换到 cxf-dosgi-ri-multibundle-distribution-1.1-SNAPSHOT.zip并解压缩以获取我想要的部分。我从 dosgi-ri multibundle 中取出 dsw 包并安装它。由于 jdom 依赖性,没有运气。然后我安装了 ri multibundle 中的 jdom,它工作正常。然后回到dsw,安装,所以我想我到了某个地方。是时候回去安装 ri-discovery 单包了。当我开始时,我得到一个 pax 日志服务 classcastexception 说它不能转换为 osgi logservice 或其他东西。但这只是一个日志记录错误,在底部它说它找不到http://schemas.xmlsoap.org/soap/http的传输类. 好的,所以日志记录被搞砸了,我错过了一些运输类。好吧,很明显,这是由于 ri multibundle 没有安装足够的东西,因为它在 felix 上工作。所以里面还有什么是必要的。检查时的 cxf-minimal-bundle 缺少导致最后一个错误的类。所以我安装它。尝试启动发现包,但我最终遇到了某种 corbabroker 异常。重量级 谁在这一切中使用了 corba?然后我返回并撤消所有这些并尝试坚持使用 ri 和 ri-discovery 的单包发行版,但只需关闭 servicemix http 服务。这会使 servicemix 崩溃,我无法重新启动它,因为 cxf jbi 组件最终会产生不满意的依赖关系。奇怪的。我会忽略这一点,因为无论如何我都不使用它们,并尝试开始我的示例。能' t 启动示例,因为它说码头无法启动,因为端口已在使用中。没有意义,因为我已经关闭了 servicemix http 服务。然后我重新启动码头。作品?也许。我的服务已注册,我可以使用 firefox 浏览到 wsdl,但在 zookeeper 中没有注册。尝试关闭 ri-discovery 包并重新启动它,但我得到一个空指针异常。显然,由于上述错误之一,ri-discovery 从未真正启动。然后我开始尝试拆开 ri-discovery 单包并取出内部部件。这不起作用,因为它显然是必要的,即使里面有一些我们可以不用的库。没有意义,因为我已经关闭了 servicemix http 服务。然后我重新启动码头。作品?也许。我的服务已注册,我可以使用 firefox 浏览到 wsdl,但在 zookeeper 中没有注册。尝试关闭 ri-discovery 包并重新启动它,但我得到一个空指针异常。显然,由于上述错误之一,ri-discovery 从未真正启动。然后我开始尝试拆开 ri-discovery 单包并取出内部部件。这不起作用,因为它显然是必要的,即使里面有一些我们可以不用的库。没有意义,因为我已经关闭了 servicemix http 服务。然后我重新启动码头。作品?也许。我的服务已注册,我可以使用 firefox 浏览到 wsdl,但在 zookeeper 中没有注册。尝试关闭 ri-discovery 包并重新启动它,但我得到一个空指针异常。显然,由于上述错误之一,ri-discovery 从未真正启动。然后我开始尝试拆开 ri-discovery 单包并取出内部部件。这不起作用,因为它显然是必要的,即使里面有一些我们可以不用的库。显然,由于上述错误之一,ri-discovery 从未真正启动。然后我开始尝试拆开 ri-discovery 单包并取出内部部件。这不起作用,因为它显然是必要的,即使里面有一些我们可以不用的库。显然,由于上述错误之一,ri-discovery 从未真正启动。然后我开始尝试拆开 ri-discovery 单包并取出内部部件。这不起作用,因为它显然是必要的,即使里面有一些我们可以不用的库。
故事的结局。无法让它工作。其他人可以让它工作吗?我只想在 SMX4 中运行发现示例。我很确定这只是一个捆绑冲突问题。这不是 OSGi 应该解决的问题吗???这比告诉我你依赖什么 jar 并让我设置我的类路径更糟糕。至少那时我最终会让事情运行起来。
我认为,我接下来的步骤将是再次尝试使用 ri-multibundle、dsw 和 jdom,以及 ri-discovery singlebundle。然后我会尝试一些 cxf-fuse 包或一些 cxf-rt 包来解决肥皂传输问题。
编辑说明:我需要的不仅仅是显示处于活动状态的 DOSGi 包。在您尝试通过它们公开服务之前,它们实际上并没有做太多事情。我确实需要看到多台机器向 zookeeper 实例注册服务以及其他使用这些服务的机器——就像正在运行的 DOSGi Discovery Sample 一样。
通过使用提到的最小 cxf 捆绑包,我已经能够让 cxf 将分布式服务示例公开为肥皂网络服务,方法是删除部分原始 cxf 捆绑包并重新启动码头服务,然后启动示例服务......或通过安装 cxf 最小捆绑包,然后启动我的服务,然后立即卸载 cxf 最小捆绑包,然后重新启动码头......我认为这是顺序。这些都不会从干净的启动中工作,并且必须重新启动服务作为使 DOSGi 工作的过程是很糟糕的。我什至不知道为什么安装然后卸载会做任何事情——它不应该留下任何工件。
apache - ServiceMix -> NetBeans OpenESB?
我选择了一个项目,该项目需要导入大约三年前使用 ServiceMix 开发的一些(旧)JBI 组件。我需要将这些带入现代 GlassFish 环境。到目前为止,还不是很清楚我应该做什么或如何做。任何提示或指示?
我最糟糕的情况是将 JBI 组件调用包装在 POJO 类中,去掉 ServiceMix 位,看看这是否至少能让齿轮再次旋转。
我在其他地方注意到,ServiceMix 中的 JBI 代码显然没有经过 JBI 认证。所以也许这可能表明这可能是不合理的。
蒂亚!
安德鲁
apache-camel - Apache Camel 2.x 和 Servicemix 3.x/4
我正在尝试使用 Servicemix 运行 Camel 2.1 SU。据我了解,无法使用 Servicemix 3 运行 Camel 2,我正在尝试使用 FUSE Servicemix 4.0.0.1 运行它
当我用 maven 开始我的项目时:mvn jbi:servicemix
我收到以下错误:
这意味着 mycamel-context.xml
已被 Camel 1.x 解析
有什么方法可以使用我提供的 SA/SU 版本的 Camel?是的,我知道我可以下载 Servicemix,删除现有的 Camel 1.x,然后将我的版本放在那里,但我不想要那些 hacks :( 我mvn jbi:servicemix
只需要使用命令运行它
您可以在http://github.com/splix/smx-currency-rates/tree/skeleton 查看该项目的所有来源(poms 等)
apache-camel - 使用 Camel 的分布式 ActiveMQ
我正在学习 ActiveMQ 和 Camel,目标是创建一个像这样工作的小原型系统:
(来源:paulstovell.com)
在 Orders 系统中下订单时,会向任何订阅者(发布/订阅系统)发送一条消息,他们可以在处理订单中发挥作用。Orders、Shipping和Invoicing应用程序都有自己的 ActiveMQ 安装,因此如果三个系统中的任何一个系统脱机,其他系统都可以继续运行。有些东西负责在 ActiveMQ 安装之间移动消息。
如果它们在同一个 ActiveMQ 实例上,让 Apache Camel 通过路由将消息从一个队列移动到另一个队列非常容易。所以这适用于管理订阅队列。
下一个挑战是将消息从一个 ActiveMQ 实例推送到另一个实例,这就是我不确定接下来要看什么的地方。
- Camel 可以在不同的 ActiveMQ 安装之间路由吗?(如果它们在不同的机器上,我无法弄清楚 JMI 端点 URI 会是什么)。
- 我了解 ActiveMQ 具有存储和转发功能。这是我用来在订单和运输/发票之间移动消息的方法吗?
- 或者这就是Apache ServiceMix想要解决的问题?
cxf - cxf-bc 中的 WS-securitypolicy 部署在 servicemix 中
我想知道是否可以使用 WS-SecurityPolicy 而不仅仅是 WS-Security 来构建 cxf-bc。WS-SecurityPolicy 似乎是一个更优雅的解决方案,因为一切都在 WSDL 中。欢迎举例。:)
在 David 的帮助下,我得到了 CXF-BC 以在 ESB 上安装和运行,但我似乎无法对其进行测试。它不断地回来:
我的消息:
这是 wsdl 中的策略:
activemq - Servicemix ActiveMQ 性能问题
我在我的产品中使用 apache servicemix 和 apache activeMQ。在 HttpConnector 的情况下,我发现了一个性能问题。
如果我一次增加总请求的数量,那么随着数量的增加,交换队列会卡在任何组件上。在所有请求开始处理之后,大部分交换都卡在了端组件或 dispatcher* 组件上。容器的堆大小达到非常高,一段时间后它会崩溃并自动重新启动。
我也使用过事务管理器。flowname 也被称为 jms。
迫切需要一些解决方案。
java - Java 消息传递:ActiveMQ、Mule、ServiceMix 和 Camel 之间的区别
我是 Messaging 的新手,想知道 、 和 之间ActiveMQ
的区别Mule
ServiceMix
Camel
有谁知道这些产品的不同之处吗?
提前致谢 !
编辑:也想知道学习这些东西的好地方/资源。
apache - ServiceMix 4 中的集群
我正在尝试配置 Apache ServiceMix 4 以提供其文档中提到的负载平衡功能(例如这里:http ://servicemix.apache.org/clustering.html )。尽管提到了,但我找不到确切的方法。
这个想法是让 2 个 ServiceMixes(例如在 LAN 中)安装相同的 OSGi 服务。当客户端尝试使用该服务时,负载均衡器会将他带到其中一个 ServiceMixes 上的适当服务实例。
有没有简单的方法可以做到这一点?