小编Jos*_*hMc的帖子

消费来自 MQ 的消息

我正在尝试使用来自 MQ 的消息,但代码挂起且不显示输出。

JmsFactoryFactory FF = jmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);
JmsConnectionFactory cf = FF.createConnectionFactory();
cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, HOST);
cf.setStringProperty(WMQConstants.WMQ_PORT, PORT);
cf.setStringProperty(WMQConstants.WMQ_CHANNEL, CHANNEL);
cf.setStringProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, QMGR);
cf.setStringProperty(WMQConstants.WMQ_APPLICATIONNAME, "JMS");
Connection connection = cf.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
destination = session.createQueue(queuename);
MessageConsumer consumer1 = session.createConsumer(destination);

Message reply = consumer1.receive();
System.out.println(reply);
Run Code Online (Sandbox Code Playgroud)

它不显示消息并挂起,甚至不终止。

java jms ibm-mq

2
推荐指数
1
解决办法
252
查看次数

IBM MQ 集群队列问题

无法将消息放入远程队列管理器上的集群队列。我正在使用 MQGetMessageOptions 和 MQPutMessageOptions。我正在使用 7.5 MQ 服务器和客户端 (7.5.0.1)

它抛出原因代码 - 2085- message -CompCode: 2, Reason: 2085

队列和队列管理器使用 MQ 集群连接。

 mqQueue = mqQueueMgr.AccessQueue("queue name", MQC.MQOO_FAIL_IF_QUIESCING | MQC.MQOO_INPUT_SHARED | MQC.MQOO_BROWSE);
Run Code Online (Sandbox Code Playgroud)

我尝试使用 amqsput.exe 放置一条测试消息,它在那里工作正常。

有什么想法吗?

c# ibm-mq

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

IBM Worklight 6.0 - worklight studio获取嵌入式服务器的IP地址

我已经安装了IBM Worklight 6.0 Studio - 企业版.我的工作站(Windows 7)有多个网络接口,因此有多个IP地址.默认的wlclient.properties文件的wlServerHost值是其中一个ip地址,但不是localhost的正确值.worklight工作室从哪里获取IP地址?(即,使用什么命令或什么代码来获取嵌入式WAS 8.5 Liberty Profile服务器的主机地址?)

ibm-mobilefirst

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

Java程序使用用户ID而不是通道连接WMQ

我有这样的需求,比如用用户ID而不是通道连接MQ。

我尝试在没有chanel的情况下将用户ID和密码设置为MQEnvironment类,但出现以下异常。

com.ibm.mq.jmqi.JmqiException: CC=2;RC=2540;AMQ9520: Channel not defined remotely. [3=].
Run Code Online (Sandbox Code Playgroud)

请指导我,是否可以编写java客户端来使用用户id而不是通道连接MQ。

ibm-mq

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

如何使用 IBM WebSphere MQ Explorer 连接到远程队列管理器?

我在 IBM WebSphere MQ Explorer 中创建了一个类似 QMTEST 的队列管理器。我想连接到远程队列管理器(远程 IP 地址)。我按照以下步骤操作:

  • 添加远程队列管理器
  • 队列管理器名称:QMTEST [下一步]
  • 主机名或ip地址:XXXX(远程ip) [完成]

但我无法连接。我收到此错误消息“无法建立与队列管理器的连接-原因 2538.(AMQ4059)”。我能做什么?

ibm-mq

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

Spring JMS模板-删除RFH标头信息

我目前正在使用Spring的JMS消息传递(JMSTemplate)的应用程序上工作。应用程序需要将消息发送到大型机队列,该大型机队列无法破译JMSTemplate附加到消息的“ RFH”头。有没有一种方法可以通过编程方式完全删除所有标头信息,以便大型机只获取没有标头的消息的原始内容?

这是我的代码...

    MQQueueConnectionFactory connectionFactory = new MQQueueConnectionFactory();
    connectionFactory.setHostName( "127.0.0.1" );
    connectionFactory.setPort( 1414 );
    connectionFactory.setChannel( "S_LOCALHOST" );
    connectionFactory.setQueueManager( "QM_LOCALHOST" );
    connectionFactory.setTransportType( 1 );

    UserCredentialsConnectionFactoryAdapter credentials = new UserCredentialsConnectionFactoryAdapter();
    credentials.setUsername( "" );
    credentials.setPassword( "" );
    credentials.setTargetConnectionFactory( connectionFactory );

    JmsTemplate jmsTemplate = new JmsTemplate( credentials );
    jmsTemplate.setPubSubDomain( false );
    jmsTemplate.setDeliveryMode( javax.jms.DeliveryMode.NON_PERSISTENT );
    jmsTemplate.setExplicitQosEnabled( true );
    jmsTemplate.setReceiveTimeout( 60000 );

    jmsTemplate.convertAndSend( "MY.QUEUE", "cobol data" );
Run Code Online (Sandbox Code Playgroud)

这是该消息在Websphere MQ Explorer中的外观。如何删除这些值?Spring JMS甚至可能吗?Lemme知道您是否需要更多信息...

在此处输入图片说明

spring jms ibm-mq

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

从 Java 客户端连接到 IBM MQ 失败,MQJE001:完成代码“2”,原因“2035”

我在 Windows 7 中安装了 IBM MQ 7.5 版。我使用以下命令创建了一个队列管理器、通道和侦听器。

//CREATE THE QUEUE MANAGER
crtmqm.exe PG3RT1

//START THE QUEUE MANAGER AS INTERACTIVE
strmqm.exe -si PG3RT1

//CONNECT AS SCRIPT CONSOLE
runmqsc.exe PG3RT1

//CREATE THE CHANNEL TO APPLICATION CONNECTIVITY
DEFINE CHANNEL(PG3RT1.CHANNEL) CHLTYPE(SVRCONN) TRPTYPE(TCP)

//CREATE THE LISTENER 
DEFINE LISTENER(LISTENER.PG3RT1) TRPTYPE(TCP) PORT(1414)

//START THE LISTENER
START LISTENER(LISTENER.PG3RT1)
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试使用以下 java 客户端连接到队列管理器。连接因以下错误而被拒绝。

    15:06:52.175 [localhost-startStop-1] ERROR c.b.c.s.s.m.MQUtil - MQJE001: Completion Code '2', Reason '2035'.
com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2035'.
        at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:230)
        at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:553)
        at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:593)
        at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:96) …
Run Code Online (Sandbox Code Playgroud)

java ibm-mq

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

mq客户端v8安装中缺少文件夹

在64位计算机上安装mq v8客户端后,很少有文件夹(错误,退出,退出64,跟踪..),mqclient.ini丢失.甚至没有创建日志/跟踪.有没有人遇到过这个问题.我试图清理安装几次,同样的msi在其他机器上工作正常以下是唯一安装的文件夹

在此输入图像描述

ibm-mq

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

无法使用 Node.js 连接到 Apache ActiveMQ

背景

尝试通过amqp10使用 AMQP 1.0 协议连接到我的 Apache ActiveMQ 代理。我正在使用以下代码(改编自自述文件中的原始示例):

const AMQPClient = require("amqp10").Client;
const Promise = require("bluebird");

//Fix from: https://github.com/noodlefrenzy/node-amqp10/issues/241
const activeMQPolicy = require("amqp10").Policy;
const client = new AMQPClient(activeMQPolicy.ActiveMQ);

const setUp = () => {
    return Promise.all([
        client.createReceiver("amq.topic"),
        client.createSender("amq.topic")
    ]);
};

client.connect("amqp://localhost")
    .then(setUp)
    .spread(function (receiver, sender) {
        receiver.on("errorReceived", function (err) {

            if (err) {
                console.log(`failed with error: ${err}`);
                return;
            }

            receiver.on("message", message => console.log(`Rx message: ${message.body}`));

            return sender.send({ key: "Value" });
        });
    })
    .error( err => console.log("error: ", err)); …
Run Code Online (Sandbox Code Playgroud)

activemq-classic amqp node.js

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

如何编写脚本来复制IBM MQ MQExplorer对象创建行为?

使用IBM MQ 8.0.0.9我无法MQExplorer从命令行复制GUI操作的行为.

使用MQExplorer我创建:

  1. 标题管理器,标题为testQueueManager使用默认值
  2. 标题为testQueue使用默认值的队列
  3. 标题为testChannel使用默认值的服务器连接通道
  4. 使用*- >用户ID 的地址映射的通道验证记录client

Java客户端连接到该实例没有问题.

以下shell脚本应该从我所知道的内容中复制以上内容.我知道我授予的权限超过了必要的数量,这纯粹是为了进行连接测试.

#!/bin/sh
set -eu
user=client
pass=password
qmgr="testQueueManager"
channel="testChannel"
queue="testQueue"

useradd "$user" && echo "$user":password | chpasswd
/opt/mqm/bin/crtmqm "$qmgr"
/opt/mqm/bin/strmqm "$qmgr"
/opt/mqm/bin/runmqsc "$qmgr" << EOF
DEFINE QLOCAL('$queue')
DEFINE CHANNEL('$channel') CHLTYPE(SVRCONN) TRPTYPE(TCP)
SET CHLAUTH('$channel') TYPE(ADDRESSMAP) ADDRESS('*') USERSRC(MAP) MCAUSER('$user') ACTION(ADD)
EOF

/opt/mqm/bin/setmqaut -m "$qmgr" -t qmgr -p client +all
/opt/mqm/bin/setmqaut -m "$qmgr" -n "$channel" -t channel -p client …
Run Code Online (Sandbox Code Playgroud)

ibm-mq

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

IBM ACE 和 IBM API CONNECT

能以某种方式向我解释一下这些产品的区别吗?

  • 据我了解,IBM ACE (AppConnect) 为您提供了更多 iPaas 功能。它允许你创建一个 API。
  • 但据我现在了解,实际的 API 管理需要 API Connect。代理/政策等
  • 有谁知道这些产品已获得许可吗?您是否必须通过 API 连接才能管理、治理您的 API 等?

ibm-integration-bus apiconnect

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

如何检查队列中是否有消息

我正在使用IBM Websphere MQ.我有队列管理器和队列名称.现在,我想检查队列中是否有任何消息?

我之前没有这方面的工作.请求帮助

如果您需要更多信息,请告诉我们!

谢谢

ibm-mq

0
推荐指数
1
解决办法
8307
查看次数

IBM MQ 客户端 java.lang.UnsatisfiedLinkError:java.library.path 中没有 mqjbnd05 异常

我正在尝试使用 Java 程序连接到 IBM websphere Client,以下是代码:=

import com.ibm.mq.MQException;
import com.ibm.mq.MQGetMessageOptions;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;


/**
 * Simple example program
 */
public class MQSample {

  // code identifier
  static final String sccsid = "@(#) MQMBID sn=p750-002-131001_DE su=_FswqMCqGEeOZ3ui-rZDONA pn=MQJavaSamples/wmqjava/MQSample.java";

  // define the name of the QueueManager
  private static final String qManager = "QM_ORANGE";
  // and define the name of the Queue
  private static final String qName = "SYSTEM.DEFAULT.LOCAL.QUEUE";
 // private static final String qName = "QM_APPLE";


  public static …
Run Code Online (Sandbox Code Playgroud)

java ibm-mq

0
推荐指数
1
解决办法
4770
查看次数