问题标签 [mq]

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.

0 投票
0 回答
1362 浏览

php - 使用 PHP/Linux 连接到 MQ

有没有人成功使用 PHP/Linux 连接到 MQ?几天来,我一直在拼命地试图让它发挥作用,但无济于事。如果有人在做这个,怎么做?

正如我所看到的,有两个扩展可供使用:a) mqseries -> C API 的精简包装 b) SAM 1.1.0 -> 采用更通用的方法

我已经尝试了这两种方法,但是对于 a) 我能够成功执行 MQCONNX,但不能成功执行 MQOPEN,并且对于 b) 我没有超过 MQCONN 阶段。我已经尝试过 7 和 6 客户端。我们的服务器正在运行 6.0.0.0。

笔记; 多年来,我们一直使用 .NET 成功连接到服务器。

所以这就是我到目前为止所做的:

  1. 从 RPM 包安装 MQClient
  2. 安装 IA94/XMS
  3. 成功构建了 sam_xms.so 扩展并将其包含在我的 php.ini 中
  4. Successyl 构建了 mqseries.so 扩展并将其包括在内。
  5. 已成功从 mq 客户端安装(amqsputc 和 amqsgetc)运行样本并来回传递消息。

使用 mqseries PECL 扩展这是我得到的错误:

使用 SAM PECL 扩展我得到了这个:

这些错误都不会在 /var/mqm/errors 中生成任何内容...

这是我的 mqseries 示例代码:

这是使用 SAM 扩展的示例代码:

提前谢谢大家!

请注意,这是关于尝试使用 PHP 连接到 MQ的讨论的延续;差不多好了

更新 #1:MQPUT1 有效,但 MQOPEN 仍返回 2044。

0 投票
1 回答
1550 浏览

java - Websphere 7 SIB 队列:如何从 Java 访问队列深度?

我已经创建了一些代码来访问 Websphere MQ 的队列深度,但是我无法确定是否有用于访问 SIB 队列的 API,或者我是否可以设置 websphere 以允许我访问它。

谁能给我一些提示/想法?

谢谢杰夫波特

0 投票
1 回答
262 浏览

message-queue - 为什么 MQFTE 监视器不支持队列到队列传输

为什么 MQFTE 监视器不支持队列到队列传输?我已经为队列设置了一个监视器,当任何消息被丢弃在队列中时,必须触发从队列到队列的传输。但是 MQFTE 没有这个选项。还有其他选择吗?

0 投票
2 回答
5795 浏览

queue - 使用 clear 命令和 mqget api 调用来清除队列有什么区别?

在 WebSphere MQ 中清除队列时,使用 clear 命令和 mqget API 调用有什么区别?

0 投票
1 回答
1089 浏览

tomcat - 在 Openejb 3.1.4 和 Tomcat 中配置 MDB

我正在使用 Tomcat 和 OpenEJB 3.1.4。使用消息驱动 Bean(EJB 2.0 - MDB)从 MQ 接收消息。我需要对 OpenEJB-Tomcat 进行哪些配置或设置才能通过 MDB 接收消息?

0 投票
1 回答
9455 浏览

jms - 发送方如何知道消息已被 MQ JMS API 使用?

我正在处理一个独立的 MQ JMS 应用程序,我们的应用程序需要“意识到”客户端已经使用了放在队列中的消息生产者。因为客户端应用程序不由我们负责。所以我们不能让他们写像“msg.acknowledge();”这样的东西 他们这边的事情(msg.acknowledge() 在我的情况下不是正确的方法。)。我在stackoverflow中搜索历史答案。发现以下与我想要的完全一样:

https://stackoverflow.com/questions/6521117/how-to-guarantee-delivery-of-the-message-in-jms

JMS 规范或各种实现是否支持消息的传递确认?

我的问题是,还有其他方法可以在 MQ API 或 JMS API 中存档吗?我只需要在味精生产端进行编码,它可以是队列或主题。

另一个问题是 JMS 中的确认模式 CLIENT_ACKNOWLEDGE,是否产生无关紧要?我一直相信这种模式可以在调用 send() 方法时阻塞应用程序,直到客户端消费消息并调用 msg.acknowledge(),但似乎不是这样。产品在消息传递后退出应用程序,消息仅存储在队列中,直到客户端调用确认()。是否可以让生产者应用程序挂在那里等到客户端确认消息?

如果我的概念不正确,请纠正我,谢谢。

0 投票
2 回答
2347 浏览

java - 什么是 MQ,它们与 Web 服务有何不同

我最近开始研究 MQ,我有一些非常基本的问题,

  1. 如何在 Web 服务和 MQ 之间做出决定?

  2. MQ 可以只发送字符串消息还是可以与 Java 对象一起使用

  3. 在客户端和服务器所在的位置方面是否有任何限制?或者就像网络服务一样,客户端/发布者可以在任何地方,服务器/接收者应该驻留在公共网络上(假设它是公共 WS)

0 投票
1 回答
1449 浏览

listener - WAS7 消息侦听器错误,MQQueue 与 MQDestination 不兼容

尝试在时。我检查了所有的&名称,一切看起来都不错。我也可以浏览终端中的队列。Connection factory JNDIDestination JNDI

请帮忙!

[1/13/12 17:21:26:259 GMT+08:00] 00000029 MDBListenerIm W WMSG0019E:无法启动 MDB 侦听器 ods,JMSDestination jms/quexx:java.lang.ClassCastException:com.ibm.mq.jms。 MQQueue 与 com.ibm.mq.jms.MQConnection.createConnectionConsumer(MQConnection.java:210) 上 com.ibm.ejs.jms.JMSConnectionHandle.createConnectionConsumer(JMSConnectionHandle.java:1272) 上的 com.ibm.mq.jms.MQDestination 不兼容在 com.ibm.ejs.jms.listener.MDBListenerImpl.createResources(MDBListenerImpl.java:542) 在 com.ibm.ejs.jms.listener.MDBListenerImpl.internalStart(MDBListenerImpl.java:730) 在 com.ibm.ejs.jms .listener.MDBListenerImpl.start(MDBListenerImpl.java:653) 在 com.ibm.ejs.jms.listener.MDBListenerManagerImpl.start(MDBListenerManagerImpl.java:851) 在 com.ibm.ejs.jms.listener。msgListenerPort.start(MsgListenerPort.java:317) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) 在 java.lang.reflect.Method.invoke(Method.java:600) 在 sun.reflect.misc.Trampoline.invoke(MethodUtil.java:37) 在 sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) 在 sun .reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:600) 在 sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:244) 在 javax。 management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1086) 在 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) 在 com.sun.jmx.mbeanserver.JmxMBeanServer.invoke (JmxMBeanServer.java:761) 在 com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1332) 在 com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118) 在 com .ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1225) 在 com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:181) 在 com.ibm.ws.management.connector.ipc .CallRouter.route(CallRouter.java:242) 在 com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink。com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink$IPCConnectorReadCallback.complete(IPCConnectorInboundLink.java:595) 上的 doWork(IPCConnectorInboundLink.java:353) com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback。在 com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) 上完成 (SSLReadServiceContext.java:1772) 在 com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)在 com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 在 com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 在 com.ibm.io.async.ResultHandler.complete (ResultHandler.java:204) 在 com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:816) 在 com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 在 com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1563)

[1/13/12 17:21:26:264 GMT+08:00] 00000029 MDBListenerIm I WMSG0043I:MDB 侦听器 lpquexx 停止 JMSDestination jms/quexx [1/13/12 17:21:26:266 GMT+08: 00] 00000029 MDBListenerIm I WMSG0058I:侦听器端口 lpquexx 将尝试在 60 秒内重新启动

0 投票
2 回答
7509 浏览

jms - 如何在独立的 Java 应用程序中汇集 JMS 连接?

我们正在开发一个 IBM WebSphere MQ 应用程序,我们使用 JMS API 来操作消息。但是我们有一个问题是连接耗时太长,我们想将JMS连接池化,因为它是一个独立的应用程序,我们没有应用程序容器来提供JNDI或池化服务。那么有没有办法解决这个问题呢?对于 JDBC 我们可以使用 DBCP 或 c3p0 来归档池化数据源,在 JMS 中,有没有类似的项目可以池化 JMS 连接?

0 投票
2 回答
6374 浏览

performance - WebSphere MQ 性能

我在 machine1 中运行 MQ 服务器 7.1。我有一个在机器 2 上运行的 java 应用程序,它使用 JMS 将消息写入机器 1 中的队列。java 应用程序每秒处理数百条消息(数据来自其他地方)。目前,200 条文本消息(平均大小 600 字节)或每秒 2000 条消息将消息写入队列大约需要 100 毫秒。这是合理的表现吗。可以做些什么来进一步提高性能。即更快?