websphere 中的 JMS 队列
我们目前在Weblogic 中使用JMS 队列。 我们可以在 Websphere 中使用相同的 JMS 队列作为 weblogic 到 websphere 迁移的一部分吗? websphere 中是否有其他可用的概念可以替代 JMS 队列?
We are currently using JMS queue in Weblogic.
Can we use same JMS queue in Websphere as part of weblogic to websphere migration.
Is there any other concept available in websphere which can replace JMS queue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
WebSphere Application Server 有一个内置的 JMS 提供程序,因为 Java EE 标准将其定义为强制的(正如 Arjan Tijms 已经声明的那样)。
设置 JMS 提供程序需要一个所谓的服务集成总线,它是 WebSphere 内部的一个简单的消息传递总线。服务集成总线还允许在使用 WebSphere Application Server Network Deployment 时设置高可用 JMS 队列/主题。
在 WebSphere 上下文之外使用此队列/主题 - 通过将消息从外部客户端放入队列或从外部客户端读取消息 - 很难。
主要是由于 WebSphere 内部 CORBA 通信,设置一个工作且稳定的系统非常棘手。
配置 - 并且您需要了解一些 WebSphere 内部技巧。
我的建议是仅对部署在同一 WebSphere Application Server 配置上的应用程序使用内部 jms 配置。
如果您确实需要对 JMS 队列/主题进行外部访问,则应该编写一个适配器来访问它。
这篇博文详细介绍了如何设置简单的 WebSphere 内部 JMS 配置.
WebSphere Application Server has a built-in JMS provider, due to the Java EE standard which defines it as mandatory (as Arjan Tijms already stated).
Setting up the JMS provider requires a so called Service Integration Bus, which is a simple Messaging Bus inside WebSphere. The Service Integration Bus also allows to setup High Available JMS queues/topics when using WebSphere Application Server Network Deployment.
Using this queues/topics outside of a WebSphere context - by putting messages into the queues from external clients or reading them from external clients - is hard.
Mainly due to the WebSphere internal CORBA communication it is quite tricky to setup a working and stable
configuration - and you need to know some internal WebSphere tricks.
My recommandation is to use internal jms configuration only for applications which are deployed on the same WebSphere Application Server-Configuration.
If you really need external access to the JMS queues/topics, you should write a adapter to access it.
This blog post describes in detail how to setup a simple WebSphere internal JMS configuration.
WebSphere 确实有一个内部 JMS 提供者。使用 SIB(服务集成总线)对其进行访问。请参阅 http://www.packtpub.com/article/消息传递与 websphere-application-server-7.0-part1
WebSphere has indeed an internal JMS provider. It's accessed using the SIB (Service Integration Bus). See http://www.packtpub.com/article/messaging-with-websphere-application-server-7.0-part1
WepSphere 也有 JMS 队列。您想让队列在 WebSphere 中运行,还是试图指向在其他地方运行的队列?
WepSphere has JMS queues as well. Are you wanting to have the queue running within WebSphere, or are you trying to point to a queue running elsewhere?
是的,你可以。
配置取决于您的 JMS 系统。
如果您的 JMS 中间件在外部运行,例如 ApacheMQ 或 Swift JMS,则通常可以安装资源适配器,然后使用该特定配置(至少对于 Jms 配置)。然后您可以使用 Websphere 的 JMS 配置(如队列和主题)以及常规的 MDB 配置。
除了 ActivationSpec(如上)之外,至少对于 Websphere MQ,您可以使用侦听器端口。我不知道侦听器端口是否可用于其他 JMS 产品。
如果您想使用内置的消息系统,我想您可以使用 SIB。
有很多选项取决于您的系统。
Yes, you can.
Configuration depends on your JMS System.
If your JMS Middleware is running external like ApacheMQ or Swift JMS, you can normally install an Resource Adapter and then use that specific configuration (at least for the Jms configuration). Then you can use Websphere's JMS Configuration (like Queues and Topics) and therefor your normal MDB configuration.
Besides ActivationSpec (like above) at least with Websphere MQ you could use Listener Ports. I don't know if Listener Ports are available for other JMS Products.
If you want to use a built in Messaging System, you can use SIB I guess.
So plenty of options depending on your System.
JMS 提供程序是 Java EE 规范强制要求的,因此每个应用程序服务器都有一个内置的 JMS 提供程序。
您必须对您的应用程序需求做出正确的判断。使用外部 JMS 提供程序(例如 WebSphere MQ)可能有充分的理由。
A JMS provider is mandated by the Java EE specs so every application server has an inbuilt JMS Provider.
You have to make the right calls about your application needs. There might be valid reasons to use an external JMS provider such as WebSphere MQ.