TongLinkQ使用
一、TongLinkQ安装 在Windows中的安装过程执行默认安装即可,在安装过程中安装程序会自动设置环境变量,安装完毕后提示重新启动。注意:系统重启后安装过程中设置的环境变量才会生效。
Windows下安装过程中设置的环境变量
在CLASSPATH环境变量中添加以下内容(Java程序使用) C:\\Program Files\\Tongtech\\TLQ72\\java\\lib\\tlclient.jar;
C:\\Program Files\\Tongtech\\TLQ72\\java\\lib\\TLQRemoteApi.jar; C:\\Program Files\\Tongtech\\TLQ72\\java\\conf;
C:\\Program Files\\Tongtech\\TLQ72\\java\\lib\\javaee.jar; C:\\Program Files\\Tongtech\\TLQ72\\java\\lib\\TongJMS.jar;
在Path环境变量中添加以下内容(TLQ的命令和测试程序路径) C:\\Program Files\\Tongtech\\TLQ72\\bin;
C:\\Program Files\\Tongtech\\TLQ72\\samples\\bin;
新添加的环境变量
TLQCONFDIR = C:\\Program Files\\Tongtech\\TLQ72\\etc (配置文件的保存目录) TLQHOMEDIR = C:\\Program Files\\Tongtech\\TLQ72 (TLQ的家目录)
TLQLICENSEDIR = C:\\Program Files\\Tongtech\\TLQ72 (TLQ的License保存目录) TLQLOGDIR = C:\\Program Files\\Tongtech\\TLQ72\\log (日志文件的保存目录) TLQMSGDIR = C:\\Program Files\\Tongtech\\TLQ72\\msg
TLQRCVFILESDIR = C:\\Program Files\\Tongtech\\TLQ72\\rcvfiles (接收文件的目录) TLQSNDFILESDIR = C:\\Program Files\\Tongtech\\TLQ72\\sndfiles (发送文件的目录)
二、TLQ的几个基本概念 1.TLQ节点 安装TLQ服务器端软件的一台主机。
2.QCU队列控制单元 (对应于MQ的队列管理器) 一个TLQ节点上可以包括多个QCU; 一个QCU中可包括多个队列和发送进程、接收进程等
3.队列(包含在QCU中) 系统队列的前缀是TLQ.SYS. 用户自定义的队列不能使用 队列的类型包括: 队列类型 本地队列 发送队列 远程队列 集群队列 逻辑队列(不占用内存或磁盘空间) 物理队列 性质 其中远程队列必须与一个本地发送队列相关联,并指向另外一个节点的QCU中的一个本地队列。
三、TLQ的基本命令 1.TLQ启动与停止 启动 > tlq –cstart 停止 > tlq –cstop (等待全部进程结束后停止) > tlq –cstart (强制停止)
2.队列控制单元(QCU)的命令 在命令行中敲入tlqqcu 就会显示出全部的命令提示 tlqqcu qcuname -a disp (显示qcu的当前BASIC小节配置) tlqqcu qcuname -a start/activate (qcu启动、启用)
tlqqcu qcuname -a stop/inactivate <-o normal/abort> <-y> (qcu停止、禁用) tlqqcu qcuname -a delete <-y> (qcu删除)
tlqqcu qcuname -a add QCUStatus[0/1] configItem[value] ... (增加qcu, QCUStatus - 1正常, 0禁用)
例如:新建一个队列控制单元,名称qcu2 > tlqqcu qcu2 –a add QCUStatus[1]
执行完毕后在% TLQHOMEDIR %\\etc目录下会生成tlqcu_qcu2.conf配置文件
3.队列的命令 在命令行中敲入tlqque 就会显示出队列的全部命令提示 tlqque qcuname queuename -a disp (队列属性显示)
tlqque qcuname queuename -a delete/clear<-o normal/abort> <-y> (队列删除、清空)
tlqque qcuname queuename -a add queueType[R/L/S/C] configItem[value] configItem[value] ... (队列增加,其中队列类型R:为远程队列;L:为本地队列;S:为发送队列;C:为集群队列)
tlqque qcuname queuename -a alter configItem[value] configItem[value] ... (队列属性修改) 例如:在qcu2中创建一个远程队列,可以和其他节点中的队列通讯
建立远程队列时必须指定一个本地发送队列和目的地队列名称(另外一个节点上的队列),因此要先建立一个本地的发送队列
> tlqque qcu2 queSend1 –a add queueType[S] (创建发送队列)
> tlqque qcu2 queRemote1 –a add queueType[R] SendQueName[queSend1] DestQueName[queLocal1] (创建远程队列,其中queSend1是发送队列,queLocal1是远程节点上的本地队列)
4.发送进程的命令 在命令行中敲入tlqsndproc 就会显示出发送进程的全部命令 tlqsndproc qcuname sndprocId -a disp (显示属性)
tlqsndproc qcuname sndprocId -a start/activate (发送进程的启动、启用)
tlqsndproc qcuname sndprocId -a stop/inactivate <-o normal/abort><-y> (发送进程的停止、禁用) tlqsndproc qcuname sndprocId -a delete <-y> (发送进程的删除)
tlqsndproc qcuname sndprocId -a add sendprocstatus[value] (发送进程增加)
命令中sndprocId 是进程标识,必须为数字;sendprocstatus – 1正常,0禁用 例如:在qcu2中创建一个发送进程
> tlqsndproc qcu2 1 –a add SendProcStatus[1]
5.发送连接的命令 在命令行中敲入tlqsndconn 就会显示出发送连接的全部命令 tlqsndconn qcuname sndconnname -a disp (显示属性)
tlqsndconn qcuname sndconnname -a start/activate (发送连接启动、启用) tlqsndconn qcuname sndconnname -a delete <-y> (发送连接删除)
tlqsndconn qcuname sndconnname -a stop/inactivate <-o normal/abort><-y> (发送连接停止、禁用)
tlqsndconn qcuname sndconnname -a add sndprocId[xxx] configItem[value] ... (发送连接的增加) tlqsndconn qcuname sndconnname -a alter configItem[value]... (发送连接属性修改) 发送连接必须与一个发送进程相关联;并且建立时必须指定本地的发送队列名称和被连接的远程节点的IP地址(或主机名)和被连接节点的端口号(该端口号要与被连接节点的接收进程中的监听端口号的值相同)
例如:在qcu2中创建一个发送连接,名称sendconn1
> tlqsndconn qcu2 sendconn1 –a add SndProcID[1] SendQueName[queSend1] HostName[192.168.1.230] ConnPort[10003]
6.接收进程的命令 在命令行中敲入tlqrcvproc 就会显示出接收进程的全部命令 tlqrcvproc qcuname rcvprocId -a disp (显示属性)
tlqrcvproc qcuname rcvprocId -a start/activate (接收进程的启动、启用)
tlqrcvproc qcuname rcvprocId -a stop/inactivate <-o normal/abort><-y> (接收进程的停止、禁用) tlqrcvproc qcuname rcvprocId -a delete <-y> (接收进程的删除)
tlqrcvproc qcuname rcvprocId -a add RcvProcStatus[value] ... (接收进程的增加) tlqrcvproc qcuname rcvprocId -a alter configItem[value] ... (接收进程的修改) 命令中rcvprocId是进程标识,RcvProcStatus – 1正常,0禁用 在创建接收进程时要指定监听端口号ListenPort 例如:在qcu2中创建一个接收进程
> tlqrcvproc qcu2 1 –a add RcvProcStatus[1] ListenPort[10003]
四、配置实例 演示2个TLQ节点的通讯
一个远程队列对应一个发送队列,即一个远程队列发送消息通过一个对应的发送队列进行消息发送。
即应用从节点NodeA 的QCUA 中,通过远程队列RemoteQ 对应的发送队列SendQ 发送消息到远端节点NodeB 的QCUB 的本地队列LocalQ。