在远程MQ上启动应用程序时,IBM MQ更改用户标识
当我将应用程序部署到远程IBM MQ时。 然后,我看到该userID更改为我的PC的用户。 我设置了userID = prod,但在日志(从远程MQ获取日志)中看到,该userID = ps(ps-我的PC的用户)。 但是,如果该应用程序是在本地启动的,则不会出现此问题。
我使用ubuntu,docker,Kubernetes,node.js。 我将userID放入代码中,但是我应该通过Docker配置它吗? 还是应该更改conf以解决此问题?
("use strict");
const mq = require("ibmmq");
const fs = require("fs");
const logger = require("../config/logerConfig");
const MQC = mq.MQC;const StringDecoder = require("string_decoder").StringDecoder;
const decoder = new StringDecoder("utf8");function ToMQ() {const qMgr = "queueManagerName";const qName = "queueName";const connName = "somehost";let queueHandle;const cno = new mq.MQCNO();const sco = new mq.MQSCO();const csp = new mq.MQCSP();const cd = new mq.MQCD();csp.UserId = "prod";csp.Password = "";cno.SecurityParms = csp;cno.Options |= MQC.MQCNO_CLIENT_BINDING;cd.ConnectionName = connName;cd.ChannelName = "channelName";//cd.SSLCipherSpec = "TLS_RSA_WITH_AES_128_CBC_SHA256";cd.SSLClientAuth = MQC.MQSCA_OPTIONAL;cno.ClientConn = cd;cno.SSLConfig = sco;mq.setTuningParameters({syncMQICompat: true});mq.Connx(qMgr, cno, function(err, hConn) {if (err) {logger.errorLogger().error("Failed to connect to MQ!");} else {logger.serverLogger().info(`Connection successful`);const od = new mq.MQOD();od.ObjectName = qName;od.ObjectType = MQC.MQOT_Q;const openOptions = MQC.MQOO_BROWSE;mq.Open(hConn, od, openOptions, function(err, hObj) {queueHandle = hObj;if (err) {logger.errorLogger().error(err.message);} else {getMessages();}});}});
}function formatErr(err) {if (err) {ok = false;return "MQ call failed at " + err.message;} else {return "MQ call successful";}
}function getMessages() {const md = new mq.MQMD();const gmo = new mq.MQGMO();gmo.Options =MQC.MQGMO_NO_SYNCPOINT |MQC.MQGMO_MQWI_UNLIMITED |MQC.MQGMO_CONVERT |MQC.MQGMO_FAIL_IF_QUIESCING;gmo.Options |= MQC.MQGMO_BROWSE_FIRST;gmo.MatchOptions = MQC.MQMO_NONE;mq.setTuningParameters({getLoopPollTimeMs: 500});mq.Get(queueHandle, md, gmo, getCB);
}function getCB(err, hObj, gmo, md, buf, hConn) {if (err) {if (err.mqrc == MQC.MQRC_NO_MSG_AVAILABLE) {logger.serverLogger().info("No more messages available.");} else {logger.errorLogger().error(formatErr(err.message));exitCode = 1;}ok = false;mq.GetDone(hObj);} else {if (md.Format == "MQSTR") {const message = decoder.write(buf);const metaJSON = getMetaJson(message);try {fs.writeFileSync(.... process);logger.serverLogger().info(message);} catch (e) {logger.errorLogger().error("Cannot write file ", e.message);}} else {logger.serverLogger().info("binary message: " + buf);}gmo.Options &= ~MQC.MQGMO_BROWSE_FIRST;gmo.Options |= MQC.MQGMO_BROWSE_NEXT;}
}function getMetaJson(message) {// parse JSON
}
在远程MQ上启动应用程序时,IBM MQ更改用户标识相关推荐
- Visualvm监控远程机器上的Java程序
JDK里面本身就带了很多的监控工具,如JConsole等.我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程. ...
- 开发机器上利用vs2013调试远程IIS上的c#程序
当远程IIS上的C#程序出现问题,怎么排错,一般我们通过看日志排查错误的方法,这种方法在程序异常日志都打印出来的情况下是可以解决的,但如果程序日志不详细,或者从日志看不出有用的内容的时候怎么排错? 本 ...
- DolphiScheduler平台上运行spark程序时,外部参数设置
DolphiScheduler平台上运行spark程序时,外部参数设置 近期使用DS平台执行spark程序,遇到了部分参数设置的问题,代码中需要外部传入一个参数procDate(处理日期),具体设置如 ...
- 此远程计算机不支持remoteapp,[Tips] 使用 RemoteApp 方式访问远程桌面上的应用程序...
使用 RemoteApp 方式访问远程桌面上的应用程序 补充这篇日志纯粹是为了方便自己,经验技巧当然是很早以前的!原因是最近经常要访问笔记本上的应用,但又不想基于远程桌面环境,所以直接以应用窗口模式打 ...
- ibm mq java 发布订阅,JMS调用IBM MQ 监听模式的点对点模式
JMS调用IBM MQ 监听方式的点对点模式 前面三篇,第一篇讲了安装IBM MQ时遇到的一些问题.第二篇讲了点对点模式的调用.第三篇讲了发布订阅模式.本篇说一下监听模式. 监听模式只是在消费者端监听 ...
- c程序在solaris与linux的不同,在Solaris上编译应用程序时,在Linux上使用Valgrind也会有所帮助吗?...
我编写了一个注定要在Solaris SPARC系统上的C应用程序.但是,我的大部分开发工作都是在Mint Linux 64位计算机上进行的. 我已经看到内存泄漏很小,并且一直在Linux上使用Valg ...
- java xms xmx_启动JAVA程序时,参数-Xms及Xmx有什么用
展开全部 -Xms是用来设置你的应用程序能够使用的最大内存数,如果程序要花很大内存的话,那就需要修改62616964757a686964616fe58685e5aeb931333365653261增加 ...
- java -xms_启动JAVA程序时,参数-Xms及Xmx有什么用?
-Xms是用来设置你的应用程序能够使用的最大内存数,如果程序要花很大内存的话,那就需要修改增加此数的值. Xms是用它来设置程序初始化的时候内存栈的大小,增加这个值的话你的程序的启动性能会得到提高. ...
- 怎么找不到JAVA9_在Java 9上运行应用程序时获取错误“找不到模块”:log4j.core
[INFO] ---------------------------------------------- --------------- [ERROR] /C:/Users/sumit.garg/w ...
最新文章
- AC3 bit allocation
- struts2文件下载出现Can not find a java.io.InputStream with the name的错误
- C++const的作用与使用
- 利用JDBC连接Oracle数据库
- java lambda map用法_Java 中如何使用 lambda 表达式填充 Map?
- linux 内核 锐龙,AMDGPU内核驱动程序在Linux 5.0上运行良好
- EntityFramework 如何查看执行的 SQL 代码?
- 关于跳转 + 传递消息,
- 【语音加密】基于matlab混沌+AES语音加密解密【含Matlab源码 1593期】
- 使用BmFont制作unity可以使用的图集数字
- 使用微软MediaCreationTool21H1.exe制作u盘windous10启动盘
- 基于Word2vec文本聚类
- shiro安全框架 面试题
- Xilinx IP核 之DDS
- Jmeter基础篇(01):如何进行post接口压力测试
- 新路由3 新3 NewifiD2 hanwck的老毛子固件
- python爬虫,爬取贝壳网数据简单案例
- 最新!2016中国城市GDP排名出炉
- 解一元二次方程-Java语言实现
- python文本匹配_python 匹配@