问题标签 [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.
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 成功连接到服务器。
所以这就是我到目前为止所做的:
- 从 RPM 包安装 MQClient
- 安装 IA94/XMS
- 成功构建了 sam_xms.so 扩展并将其包含在我的 php.ini 中
- Successyl 构建了 mqseries.so 扩展并将其包括在内。
- 已成功从 mq 客户端安装(amqsputc 和 amqsgetc)运行样本并来回传递消息。
使用 mqseries PECL 扩展这是我得到的错误:
使用 SAM PECL 扩展我得到了这个:
这些错误都不会在 /var/mqm/errors 中生成任何内容...
这是我的 mqseries 示例代码:
这是使用 SAM 扩展的示例代码:
提前谢谢大家!
请注意,这是关于尝试使用 PHP 连接到 MQ的讨论的延续;差不多好了
更新 #1:MQPUT1 有效,但 MQOPEN 仍返回 2044。
java - Websphere 7 SIB 队列:如何从 Java 访问队列深度?
我已经创建了一些代码来访问 Websphere MQ 的队列深度,但是我无法确定是否有用于访问 SIB 队列的 API,或者我是否可以设置 websphere 以允许我访问它。
谁能给我一些提示/想法?
谢谢杰夫波特
message-queue - 为什么 MQFTE 监视器不支持队列到队列传输
为什么 MQFTE 监视器不支持队列到队列传输?我已经为队列设置了一个监视器,当任何消息被丢弃在队列中时,必须触发从队列到队列的传输。但是 MQFTE 没有这个选项。还有其他选择吗?
queue - 使用 clear 命令和 mqget api 调用来清除队列有什么区别?
在 WebSphere MQ 中清除队列时,使用 clear 命令和 mqget API 调用有什么区别?
tomcat - 在 Openejb 3.1.4 和 Tomcat 中配置 MDB
我正在使用 Tomcat 和 OpenEJB 3.1.4。使用消息驱动 Bean(EJB 2.0 - MDB)从 MQ 接收消息。我需要对 OpenEJB-Tomcat 进行哪些配置或设置才能通过 MDB 接收消息?
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
我的问题是,还有其他方法可以在 MQ API 或 JMS API 中存档吗?我只需要在味精生产端进行编码,它可以是队列或主题。
另一个问题是 JMS 中的确认模式 CLIENT_ACKNOWLEDGE,是否产生无关紧要?我一直相信这种模式可以在调用 send() 方法时阻塞应用程序,直到客户端消费消息并调用 msg.acknowledge(),但似乎不是这样。产品在消息传递后退出应用程序,消息仅存储在队列中,直到客户端调用确认()。是否可以让生产者应用程序挂在那里等到客户端确认消息?
如果我的概念不正确,请纠正我,谢谢。
java - 什么是 MQ,它们与 Web 服务有何不同
我最近开始研究 MQ,我有一些非常基本的问题,
如何在 Web 服务和 MQ 之间做出决定?
MQ 可以只发送字符串消息还是可以与 Java 对象一起使用
在客户端和服务器所在的位置方面是否有任何限制?或者就像网络服务一样,客户端/发布者可以在任何地方,服务器/接收者应该驻留在公共网络上(假设它是公共 WS)
listener - WAS7 消息侦听器错误,MQQueue 与 MQDestination 不兼容
尝试在was7中启动一个消息侦听器端口时。我检查了所有的&名称,一切看起来都不错。我也可以浏览终端中的队列。Connection factory JNDI
Destination 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 秒内重新启动
jms - 如何在独立的 Java 应用程序中汇集 JMS 连接?
我们正在开发一个 IBM WebSphere MQ 应用程序,我们使用 JMS API 来操作消息。但是我们有一个问题是连接耗时太长,我们想将JMS连接池化,因为它是一个独立的应用程序,我们没有应用程序容器来提供JNDI或池化服务。那么有没有办法解决这个问题呢?对于 JDBC 我们可以使用 DBCP 或 c3p0 来归档池化数据源,在 JMS 中,有没有类似的项目可以池化 JMS 连接?
performance - WebSphere MQ 性能
我在 machine1 中运行 MQ 服务器 7.1。我有一个在机器 2 上运行的 java 应用程序,它使用 JMS 将消息写入机器 1 中的队列。java 应用程序每秒处理数百条消息(数据来自其他地方)。目前,200 条文本消息(平均大小 600 字节)或每秒 2000 条消息将消息写入队列大约需要 100 毫秒。这是合理的表现吗。可以做些什么来进一步提高性能。即更快?