标签: ibm-mq

用于监视Webshpere中管理控制台属性的Python脚本

我需要在Python或JACL脚本中编写脚本,我需要在远程服务器上运行的应用程序的管理控制台中监视和提取信息.我需要提取以下信息:

  • JDBC
  • JMS
  • Web容器线程
  • 默认工作管理器线程.

如果有人可以帮我写这个剧本,我们将非常感激.谢谢

python scripting websphere jacl ibm-mq

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

MQJMS2005异常无法创建MQQueueManager

在我的GetJMSMessage中,我使用了这个:

MQQueueConnectionFactory cf = new MQQueueConnectionFactory();
cf.setPort(port);
cf.setHostName(host);
cf.setChannel(channel);
cf.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);
cf.setQueueManager(queuemanager);
conn = (MQQueueConnection)cf.createQueueConnection();
Run Code Online (Sandbox Code Playgroud)

这在我作为独立应用程序运行我的类时有效.但是,当我在Weblogic 10中部署我的项目时,它给出了JMSException错误.IBM MQ是远程部署的,我无法访问它.

错误堆栈跟踪是javax.jms.JMSException:

MQJMS2005: failed to create MQQueueManager for 'hostname:queuemanager'
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:644) 
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:2567) 
at com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:1912) 
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:161) 
at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:202)
at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:121) 
at com.ibm.mq.jms.MQQueueConnectionFactory.createConnection(MQQueueConnectionFactory.java:1038)
Run Code Online (Sandbox Code Playgroud)

导致此错误的原因是什么?为什么只有在我的本地服务器中部署项目时才会出现此错误?

jms java-ee weblogic-10.x ibm-mq

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

SSL使用.net mq客户端SSLV3连接到MQ?

目前,由于以下问题,我在连接服务器时遇到问题:

当我尝试连接到服务器时,它返回了一个错误: MQRC_SSL_INITIALIZATION_ERROR

通过WireShark进行更仔细的分析,我发现客户端正在尝试使用SSL v2连接到服务器,而服务器只能接受SSL V3,从而拒绝连接.

我查看了该文档,但无法找到有关.Net客户端支持的SSL版本的任何信息.

我想检查SSL版本是否是从.Net MQ客户端控制的,如果是,我们如何配置使其通过SSL v3连接?

谢谢.

ssl ibm-mq

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

将ibm mq客户端连接到较低版本的问题

我通过.net使用7x(7.5 mq客户端amqmdnet.dll)并使用MQPutMessageOptionsMQGetMessageOptions,这个代码适用于mq 7.5 ibm客户端,但是

IBM链接

说7x mq客户端将向后兼容6x,当我尝试连接时,我得到这个错误(我在Windows 7 64位操作系统).

System.TypeInitializationException: The type initializer for 'IBM.WMQ.MQQueueManager' threw an exception. ---> System.TypeInitializationException: The type initializer for 'IBM.WMQ.CommonServices' threw an exception. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at IBM.WMQ.CommonServices..cctor()
   --- End of inner exception stack trace ---
   at IBM.WMQ.CommonServices.TraceEnabled()
   at IBM.WMQ.MQBase..ctor()
   at IBM.WMQ.Nmqi.NmqiEnvironment..ctor(NmqiPropertyHandler nmqiPropertyHandler)
   at IBM.WMQ.Nmqi.NmqiFactory.GetInstance(NmqiPropertyHandler properties)
   at IBM.WMQ.MQQueueManager..cctor()
Run Code Online (Sandbox Code Playgroud)

抛出上述错误的行是:

MQQueueManager  mqQMgr = new MQQueueManager("My queue manager" , "my channel name" ,"my connection …
Run Code Online (Sandbox Code Playgroud)

.net c# websphere ibm-mq

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

如何在IBM MQ 7.0中禁用授权

如何在Windows平台上禁用MQ V7.0.1.3上的授权?

我知道在7.0版中你可以禁用频道授权.但我找不到在7.0.1.3中禁用授权的方法.

mq ibm-mq

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

如何配置(弹簧)WMQ的JMS连接池

我正在尝试在spring/camel中为Websphere MQ配置JMS连接池.当我试图从spring使用CachingConnectionFactory时,我看到了类强制转换异常.无法从WMQ找到一个池,有没有人与WMQ建立连接池,我没有找到任何例子.ActiveMQ有很多例子.

这是我到目前为止,即产生类强制转换异常.

<bean id="inCachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
    <property name="targetConnectionFactory" ref="inboundMqConnectionFactory1" />
    <property name="sessionCacheSize" value="5" />
</bean>

<bean id="inboundWebsphereMq1" class="org.apache.camel.component.jms.JmsComponent">
    <property name="connectionFactory" ref="inCachingConnectionFactory" />
    <property name="destinationResolver" ref="jmsDestinationResolver" />
    <property name="transacted" value="true" />
    <property name="transactionManager" ref="txManager1" />
</bean>

<bean id="inboundMqConnectionFactory1" class="com.ibm.mq.jms.MQQueueConnectionFactory">
    <property name="hostName" value="${isi.inbound.queue.host2}" />
    <property name="port" value="${isi.inbound.queue.port}" />
    <property name="queueManager" value="${isi.inbound.queue.queuemanager2}" />
    <property name="channel" value="${isi.inbound.queue.channel2}" />
    <property name="transportType" value="${isi.queue.transportType}" />
</bean>
Run Code Online (Sandbox Code Playgroud)

我看到的例外就在这里

试图恢复.原因:com.sun.proxy.$ Proxy37无法强制转换为com.ibm.mq.jms.MQQueueSession

spring connection-pooling ibm-mq

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

MQ消息头中的用户标识的缺省值

在我的应用程序中,我将消息发送到Websphere MQ队列.在应用程序中,用户可以灵活地在消息中设置用户ID.但是我的问题是,因为参数在我的应用程序中是可配置的,如果用户没有设置它,那么将从哪里获取值?

我已经浏览了下面的链接,但是如果未在应用程序级别设置,则不清楚将为用户标识设置什么值.

  1. http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.0.1/com.ibm.mq.csqzaw.doc/jm41030_.htm

  2. 如何通过JMS API设置MQMD ApplicationID字段?

任何帮助表示赞赏.

identity userid ibm-mq

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

从IBM MQ消息中检索原始目标信息

我是IBM MQ的新手,我正在尝试编写一个应用程序来使用来自公共队列的消息,该队列最初可能在被路由到公共队列之前被发送到别名队列或主题.在获取消息后,我希望能够根据消息的特定目的地执行条件逻辑.

在RabbitMq中,我们能够获取用于发布消息的原始RoutingKey.这允许我使用通配符进行订阅,但是然后根据实际的RoutingKey为每条消息执行特殊操作.

我目前正在使用IBM MQ的普通安装.在MQ重新路由之前,是否可以确定消息的原始目标(别名队列或主题)?

MQ可以在路由期间操纵消息(属性,MQMD字段等),以便在检索到自定义值后将其拉出来吗?

如果我不能用普通版本的MQ做这个,那么我可以添加一个额外的工具来容纳这个功能的MQ(我见过很多关于IBM Integration Bus的帖子,以前的Message Broker,但我仍然可以'我完全围绕它做了什么,或者它是否能满足我的需求.)

我在.Net编程,我使用了XMS和通过amqmdnet.dll提供的普通.Net客户端工具

ibm-mq

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

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
查看次数

如何编写脚本来复制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
查看次数