使用 CCDT 连接到 MQ 服务器

2024-03-21

我正在尝试连接到MQ使用中存在的信息CCDT文件。我目前可以连接到MQ使用所有详细信息,从队列中获取消息以及将消息放入队列中。

经过广泛的谷歌搜索后,我无法找到任何允许我使用以下命令进行连接的示例代码CCDT file.

我的一位同事向我转发了他的JMS连接代码,但我无法将其移植到C#.

The JAVA代码如下-

public class MQTest {
public static void main(String[] args) {

    MQQueueManager queueManager = null;
    URL ccdtFileUrl = null;
    MQMessage mqMessage = null;
    //MQPutMessageOptions myPMO = null
    try {
     String QM =    "IB9QMGR";
     String QUEUE1 = "TEST";

     System.out.println("Starting MQClient Put Program: ");
     ccdtFileUrl = new URL("file:///D:/AMQCLCHL.TAB") ;
     ccdtFileUrl.openConnection();
     queueManager = new MQQueueManager("SDCQMGR.T1", ccdtFileUrl);

     System.out.println("Connected to QMGR ");
     int openOptions = MQC.MQOO_OUTPUT;
     MQQueue InQueue = queueManager.accessQueue(QUEUE1,openOptions,null,null,null);
     MQMessage inMessage = new MQMessage();
     inMessage.writeString("###Testing####");
     InQueue.put(inMessage);
     System.out.println("Message Id is :" + inMessage.messageId);
     System.out.println(inMessage.toString());
     InQueue.close();
     queueManager.disconnect() ;
 }
 catch(MQException ex){
     System.out.println("MQ Error - Reason code :" + ex.reasonCode);
 }
 catch (Exception e){
     System.out.println("Error : " + e);
 }
}
}

代替URL,我用了URI(在 C# 中)设置文件位置。 (这可能被错误地使用。但不知道还能使用什么。)

Uri ccdtFileUrl = new Uri("file:///D:/AMQCLCHL.TAB") ;

但我不能用openConnection()在 URI 上。还,

queueManager = new MQQueueManager("SDCQMGR.T1",ccdtFileUrl);给出参数重载异常。因为 C# 不支持 URI。

我尝试查找示例,但找到了一些 JMS 示例,仅此而已。寻找一些在 C# 中连接的示例代码。


你需要设置MQCHLLIB and MQCHLTAB使用 CCDT 的环境变量。您可以从命令提示符、app.config 或应用程序本身的代码设置这两个变量。

下面的例子演示了使用CCDT:

        MQQueueManager qm = null;
        System.Environment.SetEnvironmentVariable("MQCHLLIB", "C:\\ProgramData\\IBM\\MQ\\qmgrs\\QM1\\@ipcc");
        System.Environment.SetEnvironmentVariable("MQCHLTAB", "AMQCLCHL.TAB");

        try
        {
            **Hashtable props = new Hashtable();
            props.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT);
            qm = new MQQueueManager("QM1",props);**
            MQQueue queue1 = qm.AccessQueue("SYSTEM.DEFAULT.LOCAL.QUEUE", MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING);
            MQMessage msg = new MQMessage();
            msg.WriteUTF("Hello this message is from .net client");
            queue1.Put(msg);
            queue1.Close();
            qm.Disconnect();
        }
        catch (Exception ex)
        {
            Console.Write(ex);
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 CCDT 连接到 MQ 服务器 的相关文章

随机推荐

  • 上课需要记忆吗?

    class Test int x int main cout lt lt sizeof Test return 0 输出 4我只是想问 即使我没有创建 Test 类的任何对象 为什么它会打印 4 sizeof X 是字节数X创建时需要 致电
  • 使用 Apache AGE 制作最短路径

    我一直在阅读 Jasper Blues 的博客文章 使用 NEO4J 进行摇滚式流量路由 https medium com neo4j rock n roll traffic routing with neo4j 3a4b863c6030但
  • 我应该如何在 axios GET 请求中发送 JWT 令牌? [复制]

    这个问题在这里已经有答案了 我是 Vue js 新手 想要在组件中向受限 api 发出请求 computed token return this store getters getToken created axios get this B
  • 函数构造函数和原型构造函数有什么区别?

    我想知道这有什么区别 MyClass function MyClass prototype Foo function and this MyClass MyClass prototype constructor function MyCla
  • 如何在androidsharedPreference中存储类对象?

    我想将类对象存储在android共享首选项中 我对此进行了一些基本搜索 得到了一些答案 例如使其可序列化对象并存储它 但我的需求非常简单 我想存储一些用户信息 例如姓名 地址 年龄和布尔值是否处于活动状态 我为此创建了一个用户类 publi
  • asp.net mvc 按名称和区域查找控制器

    我的目标是从控制器的名称和区域中找到控制器 如果我当前的httpContext与待找到的控制器位于同一区域内 但是 我无法拨打电话ControllerFactory考虑面积 这是我的代码 public static ControllerBa
  • 匹配 JavaScript 中除特定模式之外的所有内容

    经过多次搜索 我仍然感到困惑 如何匹配字符串中除与给定模式匹配的内容之外的所有内容 我找到了使用以下方法否定特定单词或字符集的解决方案 或负面展望 但我需要一个解决方案来否定任何与特定模式匹配的内容 示例文本 html 片段 abcd ef
  • java.lang.IllegalStateException:指定的子级已经有父级

    当我第一次实例化一个片段时 我正在使用片段 但第二次我遇到了这个例外 我找不到出错的行 04 04 08 51 54 320 E AndroidRuntime 29713 FATAL EXCEPTION main 04 04 08 51 5
  • GPU 上非原子写入的保证很弱吗?

    OpenCL 和 CUDA 包含原子操作已有好几年了 尽管显然并非每个 CUDA 或 OpenCL 设备都支持这些操作 但是 我的问题是关于由于非原子写入而 共存 种族的可能性 假设网格中的多个线程都写入全局内存中的同一位置 我们是否可以保
  • Swing 如何以编程方式关闭 JPanel

    我的主类扩展了 JPanel 我在这个面板上创建了一个表格和一个按钮 现在我想在用户按下它时关闭这个面板 互联网上的关闭示例是关于 JFrame 的 JPanel 有解决方案吗 有一个面板 面板上有一个表格和一个按钮 我向按钮添加一个动作侦
  • 上传图片并上传后查看

    我正在尝试在 Angular 5 2 和 Laravel 5 5 中上传个人资料图片 我可以成功地将图像上传到本地存储中的单独文件夹 然后我想像在 Facebook 中一样显示上传的图像 然后我可以查看上传的图像 但它没有上传到文件夹 这是
  • Django - 新字体?

    如何使用 Django 安装新字体 文档中没有提及这一点 我将字体安装在静态文件夹中 例如 fonts abc ttf 例如 在模板中 如果这是一个 CSS 我会这样链接它 但这不是 CSS 而且我还没有找到任何有关如何执行此操作的资源 我
  • Java 中的最终接口?

    Java中的接口可以声明为final吗 接口是 100 抽象的 创建接口实例的唯一方法是实例化实现它的类 允许接口final完全没有意义 EDIT这些问题并不像我最初想象的那么令人震惊 最终接口是不能由其他接口扩展但表面上可以实现的接口 我
  • Google 电子表格脚本问题 - 错误:服务超时:Apps 脚本

    我一直在尝试编写一个快速的谷歌脚本来计算婚礼邀请回复电子表格的回复人数 随着新条目添加到电子表格中 该脚本完美运行了一周 然后突然停止工作 每个单元格中出现以下错误消息 错误 服务超时 Apps 脚本 脚本本身很简单 它查询相关列 有多个事
  • Google App Engine 尝试访问开发数据

    我在本地计算机上运行我的应用程序 并使用远程 API 访问生产端的数据存储区 一切都工作得很好 直到我尝试在谷歌应用程序引擎启动器中添加第二个应用程序 我相信这就是导致问题的原因 因为我必须将我正在处理的内容与一些更新的代码合并 并想在我去
  • 如何在 Flutter 中单击另一个扩展图块后折叠已打开的扩展图块?

    我在我的应用程序中使用多个扩展图块 我需要在单击另一个图块后关闭已打开的图块 我尝试过使用默认情况下具有该功能的扩展面板 但我需要重新设计扩展瓷砖 所以我使用扩展瓷砖 如何在扩展磁贴中实现该功能 这个答案在 GitHub 上 https g
  • 如何使用“pip install”运行单元测试?

    在工作中 我们正在考虑配置本地 pypi 存储库以用于内部软件部署 使用 pip install 进行部署会很方便 但我担心添加新包后应该执行单元测试以确保正确安装 我一直认为 pip 正在这样做 但我在 pip 文档中没有看到任何与测试相
  • Phonegap Android 项目适用于模拟器,不适用于实际手机

    我正在运行最新版本的android及其SDK 并且我正在使用phonegap创建移动应用程序 我的问题是 我正在请求 Web 服务 并且在 html 的标签中显示收到的消息的内容 Web 服务工作正常 显示功能工作正常 甚至在模拟器上运行也
  • javascript字符串分割中的正则表达式,浏览器兼容性问题

    我一直在调查这个问题 随着我深入研究 这个问题似乎只会变得更糟 我开始天真地尝试使用这个表达式来分割 HTML br 标签上的字符串 T captions innerHTML split
  • 使用 CCDT 连接到 MQ 服务器

    我正在尝试连接到MQ使用中存在的信息CCDT文件 我目前可以连接到MQ使用所有详细信息 从队列中获取消息以及将消息放入队列中 经过广泛的谷歌搜索后 我无法找到任何允许我使用以下命令进行连接的示例代码CCDT file 我的一位同事向我转发了