标签: ibm-mq

如何进行JMS同步请求

我有一个webapp,可以从外部应用程序获取和显示数据,只能通过消息传递(JMS)访问.

因此,如果用户在浏览器上提交请求,则相同的HTTP请求线程必须与Messaging系统(MQ Series)交互,以便相同的请求线程可以显示从Messaging System接收的数据.

我可以在这里使用一种模式吗?我在网上看到了一些模糊的引用,它们以这种方式使用"Correlation ID":

Msg m = new TextMsg("findDataXYZ");
String cr_id = m.setCorrelationID(id);

sendQueue.send(m).

// now start listening to the Queue for a msg that bears that specific cr_id

Response r = receiverQueue.receive(cr_id);
Run Code Online (Sandbox Code Playgroud)

那里有更好的东西吗?我发现其他模式期望响应是异步接收的..这对我来说不是一个选项,因为我必须在同一个HTTP请求上发回响应.

java architecture jms ibm-mq

11
推荐指数
2
解决办法
2万
查看次数

使用JMS连接到IBM MQ

我想使用JMS连接到IBM MQ.如何指定queuemanager,channel和其他属性?

jms ibm-mq

10
推荐指数
1
解决办法
4万
查看次数

如何使用c#.net连接ibm websphere mq

任何人都可以指导我,使用c#.net连接ibm websphere mq,原因是我试图将消息推送到MQ,请使用c#.net给我建议连接

c# ibm-mq

10
推荐指数
2
解决办法
4万
查看次数

JMS选择器如何根据队列深度进行扩展?

在消耗来自队列的消息时,相对于队列深度n,应用JMS选择器的算法时间复杂度是多少?特别是,每次读取是否为线性(O(n))?它是依赖于实现的(在JMS提供程序上),是否取决于请求的字段?

(如果依赖于实现,我对Websphere MQ和Solace的行为特别感兴趣,但我欢迎处理任何特定JMS提供程序的答案,特别是如果您有描述复杂性的文档的链接!).

动机:每条消息都有两个属性:a invocationID和a batchName.批处理包含多个调用.客户希望以两种方式之一消费消息; 无论是通过invocationID还是通过batchName.在生成消息时,我不知道它们将被消耗的方法. 

这可以通过选择器实现:

invocationID=42
Run Code Online (Sandbox Code Playgroud)

要么

batchName="reconciliation"
Run Code Online (Sandbox Code Playgroud)

...我可以通过使用相关ID而不是自定义属性来加快其中一个,但我担心另一个会保持缓慢.

java jms ibm-mq

10
推荐指数
1
解决办法
2684
查看次数

如何解决WebSphere MQ Reason code 2195相关的错误?

MQRC_UNEXPECTED_ERROR当我尝试连接到执行组上部署的消息流时,我收到了WebSphere MQ Reason代码2195 .有人可以告诉我这个原因代码究竟是什么意思?队列管理器,代理,执行组......一切都正常运行,端口也是开放的.我没有在网上得到任何有价值的东西.请指教.

messagebroker ibm-mq

10
推荐指数
1
解决办法
4万
查看次数

Websphere MQ v8 - MQRC_NOT_AUTHORIZED - 2035

我正在本地测试WebSphere以用于开发目的,现在我想转移到新PC.但我不记得我是如何摆脱标题中的错误.我知道自从引入MQ 7.1如何禁用安全性以来,有大量关于此错误的帖子.我记得上次我做了runmqsc.exe QM_name - > ALTER CHLAUTH(DISABLED).但它不再工作了?!我还需要改变什么,以便任何人都可以连接到队列?

> DIS QMGR CHLAUTH
>      2 : DIS QMGR CHLAUTH AMQ8408: Display Queue Manager details. 
>  QMNAME(QueueManager1)                   CHLAUTH(DISABLED)
Run Code Online (Sandbox Code Playgroud)

谢谢.

java authentication authorization ibm-mq

10
推荐指数
1
解决办法
1万
查看次数

JMS主题与选择器

JMS主题和JMS选择器是完全不同的概念,但它们都可以被消费者使用以仅获取消息的子集.

在PubSub场景中,使用以下方法过滤消息的专业人员和骗子是什么?

选项1)在单个主题中发布所有内容,使用者使用JMS选择器

选项2)订阅者订阅一个或多个主题.

例如:
我正在发布客户端数据消息,订阅者可能只想获得特定类型的客户端.客户端类型在不同的属性中定义,如'ClientGroup''ClientSource''ClientOrgUnit''ClientSize'等

我该怎么办:
1)为每个客户端类型创建一个不同的主题

2)在主题上并让每个类型都在JMS属性中并让订阅者使用选择器?

谢谢

activemq-classic jms java-ee ibm-mq

9
推荐指数
1
解决办法
3289
查看次数

数百万主题的消息队列解决方案

我正在考虑系统将通知多个消费者有关一群物体发生的事件.每个订阅者应该能够订阅发生在零个或多个对象上的事件,多个订阅者应该能够接收有关发生在单个对象上的事件的信息.

我认为在这种情况下,某些消息排队系统是合适的,但我不知道如何处理我将拥有数百万个对象的事实 - 对每个对象使用单独的主题听起来不太好[或者是它正好?].

你能否建议我应该采取的方法,甚至可能是一些合理的开源消息排队系统?

更多细节:

  • 会有成千上万的订阅者[意思不是很多]
  • 订阅者将订阅每个数十或数百个对象,
  • 将有约5-20万个物体,
  • 事件本身不必携带任何信息.只是该对象被更改的信息就足够了,
  • 绝大多数对象永远不会订阅,
  • 事件以每秒几百个的最大速率发生,
  • 理想情况下,服务器应该在linux下运行,能够通过http long-poll与生态系统的其余部分集成[使用节点js?码头下的延续?].

在此先感谢您的反馈,并抱歉有些模糊的问题!

message-queue mq ibm-mq

9
推荐指数
2
解决办法
2275
查看次数

是否有免费下载的WebSphere MQ开发人员版本?

WebSphere Application Server 8.0在免费的开发人员版本中可用,还有一个可用于WebSphere MQ吗?

websphere ibm-mq

9
推荐指数
2
解决办法
2万
查看次数

java.lang.NoClassDefFoundError:com/ibm/mq/MQException

这与线程"main"中的早期问题Exception类似java.lang.NoClassDefFoundError:com/ibm/mq/MQException

我在Linux中遇到了类似的问题.我安装了以下内容:

MQSeriesRuntime-7.0.1-3.x86_64.rpm
MQSeriesSDK-7.0.1-3.x86_64.rpm
MQSeriesJava-7.0.1-3.x86_64.rpm
MQSeriesServer-7.0.1-3.x86_64.rpm

当我创建一个执行组时,我得到:
java.lang.ClassNotFoundException: com.ibm.mq.MQException

我已经CLASSPATH使用这行代码设置:
export CLASSPATH=$CLASSPATH:/opt/mqm/java/lib/com.ibm.mq.jmqi.jar:/opt/mqm/java/lib/com.ibm.mq.jar:.

broker的版本是8.0.0.1,MQ的版本是7.0.1.3.你能告诉我有什么问题吗?根据之前的回答,我是否应该安装客户端?

ibm-mq

9
推荐指数
2
解决办法
3万
查看次数