当我将应用程序部署到远程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更改用户标识相关推荐

  1. Visualvm监控远程机器上的Java程序

    JDK里面本身就带了很多的监控工具,如JConsole等.我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程. ...

  2. 开发机器上利用vs2013调试远程IIS上的c#程序

    当远程IIS上的C#程序出现问题,怎么排错,一般我们通过看日志排查错误的方法,这种方法在程序异常日志都打印出来的情况下是可以解决的,但如果程序日志不详细,或者从日志看不出有用的内容的时候怎么排错? 本 ...

  3. DolphiScheduler平台上运行spark程序时,外部参数设置

    DolphiScheduler平台上运行spark程序时,外部参数设置 近期使用DS平台执行spark程序,遇到了部分参数设置的问题,代码中需要外部传入一个参数procDate(处理日期),具体设置如 ...

  4. 此远程计算机不支持remoteapp,[Tips] 使用 RemoteApp 方式访问远程桌面上的应用程序...

    使用 RemoteApp 方式访问远程桌面上的应用程序 补充这篇日志纯粹是为了方便自己,经验技巧当然是很早以前的!原因是最近经常要访问笔记本上的应用,但又不想基于远程桌面环境,所以直接以应用窗口模式打 ...

  5. ibm mq java 发布订阅,JMS调用IBM MQ 监听模式的点对点模式

    JMS调用IBM MQ 监听方式的点对点模式 前面三篇,第一篇讲了安装IBM MQ时遇到的一些问题.第二篇讲了点对点模式的调用.第三篇讲了发布订阅模式.本篇说一下监听模式. 监听模式只是在消费者端监听 ...

  6. c程序在solaris与linux的不同,在Solaris上编译应用程序时,在Linux上使用Valgrind也会有所帮助吗?...

    我编写了一个注定要在Solaris SPARC系统上的C应用程序.但是,我的大部分开发工作都是在Mint Linux 64位计算机上进行的. 我已经看到内存泄漏很小,并且一直在Linux上使用Valg ...

  7. java xms xmx_启动JAVA程序时,参数-Xms及Xmx有什么用

    展开全部 -Xms是用来设置你的应用程序能够使用的最大内存数,如果程序要花很大内存的话,那就需要修改62616964757a686964616fe58685e5aeb931333365653261增加 ...

  8. java -xms_启动JAVA程序时,参数-Xms及Xmx有什么用?

    -Xms是用来设置你的应用程序能够使用的最大内存数,如果程序要花很大内存的话,那就需要修改增加此数的值. Xms是用它来设置程序初始化的时候内存栈的大小,增加这个值的话你的程序的启动性能会得到提高. ...

  9. 怎么找不到JAVA9_在Java 9上运行应用程序时获取错误“找不到模块”:log4j.core

    [INFO] ---------------------------------------------- --------------- [ERROR] /C:/Users/sumit.garg/w ...

最新文章

  1. AC3 bit allocation
  2. struts2文件下载出现Can not find a java.io.InputStream with the name的错误
  3. C++const的作用与使用
  4. 利用JDBC连接Oracle数据库
  5. java lambda map用法_Java 中如何使用 lambda 表达式填充 Map?
  6. linux 内核 锐龙,AMDGPU内核驱动程序在Linux 5.0上运行良好
  7. EntityFramework 如何查看执行的 SQL 代码?
  8. 关于跳转 + 传递消息,
  9. 【语音加密】基于matlab混沌+AES语音加密解密【含Matlab源码 1593期】
  10. 使用BmFont制作unity可以使用的图集数字
  11. 使用微软MediaCreationTool21H1.exe制作u盘windous10启动盘
  12. 基于Word2vec文本聚类
  13. shiro安全框架 面试题
  14. Xilinx IP核 之DDS
  15. Jmeter基础篇(01):如何进行post接口压力测试
  16. 新路由3 新3 NewifiD2 hanwck的老毛子固件
  17. python爬虫,爬取贝壳网数据简单案例
  18. 最新!2016中国城市GDP排名出炉
  19. 解一元二次方程-Java语言实现
  20. python文本匹配_python 匹配@

热门文章

  1. java字符串加密解密
  2. 机器学习之支持向量机算法(一)
  3. 【tool】部署前端工具
  4. With语句是什么?
  5. ModelState对象
  6. 单例模式——java设计模式
  7. Android时间戳与字符串相互转换
  8. Code Style Guidelines for Contributors Reading Notes
  9. 浏览器的加载顺序与页面性能优化
  10. mssql数据库基本语句总结(2)