熊猫汪汪汪 2023-04-21 16:25 采纳率: 75%
浏览 59
已结题

如何配置TLQ消息中间件(似IBMMQ)

背景:技术选型使用了TLQ消息中间件即TongLinkQ 酷似IBMMQ
现状:目前公司内有一个节点向外发送接收信息,同时已经有一台连通的应用服务器可以向节点发送接受信息
问题:我有另一个应用想要复用这个节点,听说不需要另行安装客户端,只要配置到那个已经连通的应用服务器即可,请问需要怎么配置操作。

  • 写回答

6条回答 默认 最新

  • Leodong. 2023-04-21 16:51
    关注

    该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
    首先,确保你已经拥有了可用的TLQ消息中间件,并且已经在系统中安装并配置好了它。一般来说,TLQ消息中间件的安装和配置过程与IBMMQ类似。

    以下是在Linux环境下配置TLQ消息中间件的步骤:

    1. 确认已经安装了Java环境,并设置了JAVA_HOME环境变量。

    2. 下载并安装TLQ消息中间件。将TLQ安装包解压缩到指定目录,例如/opt/tlq。

    3. 配置TLQ服务。在/opt/tlq/bin目录下,运行以下命令:

      ./tlqadm -addsvc -svcname tlqsvc -svcport 1414
      

      这将在TLQ消息中间件中创建一个名为tlqsvc的服务,监听端口1414。

    4. 创建队列管理器。在/opt/tlq/bin目录下,运行以下命令:

      ./tlqadm -addqmgr -qmgrname qmgr1
      

      这将在TLQ消息中间件中创建一个名为qmgr1的队列管理器。

    5. 配置队列管理器。在/opt/tlq/qmgrs/qmgr1目录下,编辑qm.ini文件,添加以下配置:

      ListenerPort=1414
      ListenerTransport=TCP
      ChannelDefinitionDirectory=/opt/tlq/chl
      

      这将配置队列管理器使用TCP协议监听端口1414,并将通道定义文件存储在/opt/tlq/chl目录下。

    6. 创建通道。在/opt/tlq/chl目录下,创建一个名为mychannel的通道定义文件,内容如下:

      DEFINE CHANNEL('mychannel') CHLTYPE(SVRCONN) TRPTYPE(TCP) MCAUSER('tlquser') REPLACE
      

      这将定义一个名为mychannel的服务器连接通道,使用TCP协议,用户名为tlquser。

    7. 启动队列管理器。在/opt/tlq/qmgrs/qmgr1目录下,运行以下命令:

      ./strmqm qmgr1
      

      这将启动队列管理器qmgr1。

    8. 启动监听器。在/opt/tlq/qmgrs/qmgr1目录下,运行以下命令:

      ./runmqlsr -m qmgr1 -t tcp -p 1414 -c mychannel
      

      这将启动一个监听器,监听TCP端口1414,并使用mychannel通道与客户端通信。

    9. 在应用服务器上配置连接。在应用服务器上,使用TLQ提供的Java客户端API连接到TLQ消息中间件。连接字符串应该包括队列管理器名称、通道名称、主机名和端口号。例如:

      tcp://localhost(1414)/qmgr1/mychannel
      

      在连接之前,需要确保已经在应用服务器上安装了TLQ客户端API,并将相关的JAR文件添加到类路径中。例如:

      export CLASSPATH=$CLASSPATH:/opt/tlq/java/lib/tlq.jar
      

      如果连接成功,应用程序将能够发送和接收消息。

    10. 配置另一个应用程序。要让另一个应用程序复用现有的节点,只需要在该应用程序中使用与上述相同的连接字符串即可。如果需要在同一台应用服务器上运行多个应用程序,可以将连接字符串封装在配置文件中,并在每个应用程序中读取该配置文件。

    希望这些步骤能够帮助你在Linux环境下配置TLQ消息中间件。请注意,具体的配置步骤可能会因为你所使用的TLQ版本和环境而有所不同,需要注意一下,以确保你的配置是正确的。


    如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
  • CSDN专家-sinJack 2023-04-21 20:53
    关注
    1. 确认已经连通的应用服务器上是否已经安装了TLQ客户端。如果没有安装,需要先安装TLQ客户端。

    2. 在已经连通的应用服务器上,需要配置TLQ客户端的连接参数,包括节点的IP地址、端口号、队列管理器名称等信息。这些参数可以在TLQ的配置文件中进行设置。

    3. 在你的另一个应用程序中,需要使用TLQ客户端的API来连接已经连通的应用服务器,并发送和接收消息。具体的API使用方法可以参考TLQ的官方文档。

    评论
  • 蓝白、波罗歌 2023-04-21 22:25
    关注

    以下答案由GPT-3.5大模型与博主波罗歌共同编写:
    首先需要确认一下,您所说的TLQ消息中间件指的是TongLinkQ产品,不是Tibco的产品,是吗?

    针对您的问题,如果您已经有一个可用的应用服务器与节点连通,那么需要做以下几个步骤,使另一个应用程序复用该节点:

    1. 在应用服务器上安装TLQ消息客户端

    TLQ消息客户端是用于与TLQ消息中间件交互的组件,您需要在应用服务器上安装相应版本的TLQ消息客户端。如果您之前已经在应用服务器上安装了该客户端,请确保其版本与节点上安装的相同。如果没有安装,则需要先下载安装。

    1. 进行TLQ消息中间件配置

    配置TLQ消息中间件是非常关键的一步,该步骤涉及到多方面的知识,包括MQ队列、通道、认证等,这里简单介绍一下主要的配置步骤:

    1)配置MQ队列

    首先需要在节点上创建MQ队列。可以使用MQ Explorer或者MQSC命令进行创建。请确保创建的队列名称在TLQ配置文件中与应用程序中调用的名称相同。

    2)配置MQ通道

    为了让应用程序能够与节点进行通信,需要在应用服务器上配置MQ通道。在MQ服务器上为通道设置TLS安全性选项,一定程度上可以解决通信时的不安全性问题。

    3)配置通道层安全性

    通道层安全性是一种TLS类似的应用程序安全性,用于在应用程序之间提供安全性和保障数据完整性。在设置了MQ通道后,需要在通道层上添加安全性。

    4)配置通道认证

    通道认证是一种与通道相关的客户端认证,用于验证客户端以确保它们有权访问服务器。您需要为客户端配置证书,然后配置通道以使用证书进行认证。

    5)配置SSL/TLS通信

    由于TLS是广受欢迎的通信协议,可提供端到端加密。因此,建议在客户端和服务器之间使用TLS通信。

    1. 编写应用程序

    当完成以上步骤后,您已经可以在应用程序中访问MQ队列了。接下来,您需要编写代码连接到MQ队列,并使用MQ API发送和接收消息。

    以下是一个简单的Python示例,用于向MQ队列发送消息:

    import pymqi
    
    queue_manager = "QMGR"
    channel = "SYSTEM.ADMIN.SVRCONN"
    host = "localhost"
    port = "1414"
    queue_name = "QUEUE"
    message = "Hello, World!"
    
    cd = pymqi.CD()
    cd.ChannelName = channel
    cd.ConnectionName = "%s(%s)" % (host, port)
    
    queue_manager = pymqi.connect(queue_manager, user="username", password="password", cd=cd)
    
    queue = pymqi.Queue(queue_manager, queue_name)
    
    message_options = pymqi.MQMD()
    
    message_length = len(message)
    queue.put(message, message_options)
    
    queue.close()
    
    pymqi.disconnect(queue_manager)
    

    以上示例仅供参考,实际代码需要根据您的具体需求进行调整。

    希望以上内容能对您有所帮助。
    如果我的回答解决了您的问题,请采纳!

    评论
  • 汕大第一深情 2023-04-21 17:21
    关注

    如果另一个应用想要复用这个节点,您需要进行如下操作:

    1. 确认已经安装了 TLQ 消息中间件客户端,如果没有安装需要先进行安装。

    2. 配置 TLQ 客户端连接参数,包括服务地址、端口、用户名、密码等。可以在已经连通的应用服务器上找到 TLQ 客户端的配置文件,将其中的连接参数复制到另一个应用所在服务器上对应的配置文件中即可。

    3. 确认消息队列名称和主题名称是否正确。在已经连通的应用服务器上通过 TLQ 客户端管理工具查看消息队列和主题的名称,并将其配置到另一个应用所在服务器上对应的配置文件中。

    4. 测试连接是否成功。在另一个应用所在服务器上启动 TLQ 客户端,并通过 TLQ 客户端发送和接收消息进行测试,如果测试正常则说明配置成功。

    需要注意的是,在进行以上操作前需要确认消息中间件版本和配置是否一致,否则可能会导致无法连接或者数据传输出现异常。

    评论
  • Zyb0627 2023-04-21 21:38
    关注

    引用chatGPT作答,TLQ消息中间件与IBM MQ有很多相似之处,但也存在一些不同之处。以下是一般情况下配置TLQ消息中间件的步骤:

    1.安装TLQ消息中间件

    2.启动TLQ服务

    3.创建消息队列管理器

    4.创建发送方通道

    5.创建接收方通道

    6.创建发送方队列

    7.创建接收方队列

    8.测试消息传递

    对于你的问题,如果你已经有一个应用服务器可以向节点发送和接收信息,那么你可以尝试按照以下步骤来配置你的新应用:

    1.确定你的新应用需要连接的队列管理器名称,以及发送和接收消息所用的队列名称。

    2.在已经连通的应用服务器上找到TLQ的安装目录,并在该目录下找到"TLQ.ini"文件,打开该文件。

    3.在"TLQ.ini"文件中找到"Queuemanager"部分,添加以下代码:

    [Queuemanager]
    QueueManagerName=你的队列管理器名称
    ChannelName=你的发送方通道名称
    ConnectionName=你的节点IP地址(或hostname):你的节点监听端口
    

    4.在"TLQ.ini"文件中找到"Sendqueue"部分,添加以下代码:

    [Sendqueue]
    SendqueueName=你的发送方队列名称
    

    5.在"TLQ.ini"文件中找到"Recvqueue"部分,添加以下代码:

    [Recvqueue]
    RecvqueueName=你的接收方队列名称
    

    6.保存"TLQ.ini"文件,并重启已经连通的应用服务器上的TLQ服务。

    7.在新应用中使用TLQ API连接到已经连通的应用服务器上的TLQ服务,并使用发送方队列发送消息,或者从接收方队列接收消息。

    评论
  • 守时间的孤岛 2023-04-21 16:33
    关注

    该回答引用chatgpt:
    首先,确保已经在那台已经连通的应用服务器上安装了TLQ的服务端,并且该节点已经可以被访问到。

    然后,可以通过以下步骤来配置TLQ客户端:

    下载TLQ客户端
    在官网下载TLQ客户端,并解压到本地目录中。

    配置环境变量
    将TLQ客户端解压后的目录添加到系统的环境变量中,例如在Linux系统中可以通过以下命令添加:

    export PATH=$PATH:/path/to/tlq/client
    
    
    

    配置TLQ连接信息
    在应用程序中,通过TLQ提供的API连接到TLQ服务端。需要配置以下连接信息:

    IP地址或主机名:TLQ服务端所在的IP地址或主机名。
    端口号:TLQ服务端的端口号。
    队列管理器名称:队列管理器的名称。
    通道名称:连接TLQ服务端的通道名称。
    用户名和密码:连接TLQ服务端所需要的用户名和密码。
    连接的示例代码如下:

    MQEnvironment.hostname = "tlq.server.ip";
    MQEnvironment.port = 1414;
    MQEnvironment.channel = "tlq.channel.name";
    MQEnvironment.userID = "tlq.user.name";
    MQEnvironment.password = "tlq.password";
    MQQueueManager qmgr = new MQQueueManager("tlq.queue.manager.name");
    
    
    

    其中,MQEnvironment是TLQ提供的环境变量类,可以通过该类来设置连接信息。MQQueueManager是连接队列管理器的类。

    发送和接收消息
    通过TLQ提供的API,可以发送和接收消息。以下是一个发送消息的示例代码:

    
    MQQueue queue = qmgr.accessQueue("tlq.queue.name", MQC.MQOO_OUTPUT);
    MQMessage msg = new MQMessage();
    msg.writeUTF("Hello, World!");
    MQPutMessageOptions pmo = new MQPutMessageOptions();
    queue.put(msg, pmo);
    queue.close();
    
    

    以上代码首先连接到队列管理器,然后打开一个队列,并将一条消息发送到该队列中。

    以下是一个接收消息的示例代码:

    
    MQQueue queue = qmgr.accessQueue("tlq.queue.name", MQC.MQOO_INPUT_AS_Q_DEF);
    MQMessage msg = new MQMessage();
    MQGetMessageOptions gmo = new MQGetMessageOptions();
    queue.get(msg, gmo);
    System.out.println(msg.readUTF());
    queue.close();
    
    

    以上代码首先连接到队列管理器,然后打开一个队列,并从该队列中接收一条消息并输出。

    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 创建了问题 4月21日

悬赏问题

  • ¥20 C语言字符串不区分大小写字典排序相关问题
  • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据
  • ¥15 学习C++过程中遇到的问题
  • ¥15 关于Linux的终端里,模拟实现一个带口令保护的屏保程序遇到的输入输出的问题!(语言-c语言)
  • ¥15 学习C++过程中遇到的问题
  • ¥15 请问,这个嵌入式Linux系统怎么分析,crc检验区域在哪
  • ¥15 二分类改为多分类问题
  • ¥15 Unity微信小游戏上调用ReadPixels()方法报错
  • ¥15 如何通过求后验分布求得样本中属于两种物种其中一种的概率?
  • ¥15 q从常量变成sin函数,怎么改写python代码?