1.show connections type=q 相关属性说明。
tcp://localhost:7222> show connections type=q
L ID FSXT S Host User ClientID Sess UptimeJ 91761 +--Q - as234 anonymous 3 744:05:44
J 91762 +--Q + as234 anonymous 5 744:05:44
C 2 ---A + gl-huang admin 1 0:04:55
J 7 ---Q + gl-huang anonymous 1 0:03:18
L 客户端类型:
C = C Client
J= java Client
# = c# client
- = 未知类型。
ID 唯一连接标识ID,每一个连接被分配唯一的字段。可以用此ID进行删除(命令:delete 【ID】)
FSXT 连接类型信息。
F 列表示是否是容错。容错:-号代表该连接没有其他的连接地址,+号代表有。
S 列表示是否用SSL连接。 -号不是,+号是
X 列表示是否启用XA事务或MS DTC连接。
T T栏显示了连接类型。
C -普通用户连接
T- TopicConnection
Q QueueConnection
A -administrative connection
R——系统连接到另一条路服务器
F)——系统连接到容错服务器
S 连接状态 +已经启动 –已经停止
Sess 在这个数量上并发连接
Uptime 已连接时长
2.show queues 相关属性说明
Queue Name SNFGXIBCT Pre Rcvrs Msgs Size
> - - - - - - - - - 5* 0 0 0.0 Kb
$sys.admin + - - - - - - - - 5* 0 0 0.0 Kb
$sys.lookup - - - - - - - - - 5* 0 0 0.0 Kb
$sys.redelivery.delay + - - - - - - - - 5* 0 0 0.0 Kb
$sys.undelivered + - - - - - - - - 5* 0 0 0.0 Kb
$TMP$.EMS-SERVER.32004D5A3D751555. - - - - - - - - - 5 1 0 0.0 Kb
queue.sample - - - - - - - - - 5* 0 0 0.0 Kb
sample - - - - - - - - - 5* 0 0 0.0 Kb
sample.Q1 - - - - - - - - - 5* 0 0 0.0 Kb
sample.Q2 - - - - - - - - - 5* 0 996 120.3 Kb
testSample.Q1 - - - - - - - - - 5* 0 0 0.0 Kb
show queues
关键参数说明:
SNFGXIBCT
S 是否安全。
N 发送人姓名,或执行者姓名。
F 是否是failsafe。
G Globle
X 是否被排除的
I 重要的?
B Bridge
C FlowControl: 人群密度检测 ;控制 ;数据流控制
T trace
Pre 表示如果该列的后面带有一个*号,表示该值有可能从另一个队列继承过来,或者是预设的值
Rcvrs 表示当前活动的接受者。
Msgs 队列中的消息个数。
Size 队列总大小。
常用命令
1. 连接EMS Server
connect emsServer disconnect emsServer
默认管理员用户admin, 密码为空。
2. 显示所有用户
show users
3.显示当前用户
whoami
4. 创建用户或者组
create user Jackson create group EMSGroup
5. 向组中添加用户
add member EMSGroup Jackson
6. 删除用户
delete user Jackson
7. 修改用户密码
set password Jackson newPsd
8. 创建queue, topic, destinatin等
create queue|topic
9. 查看系统级权限列表
help permissions
10. 授权系统管理级权限
grant admin Jackson view-acl
11. 授权对象级权限
grant topic|queue
12. 查看服务器对象状态
show queues //查看所有queue
show queue JacksonTestQueue //查看某个queue, Tibco命令中单数表示某个特定对象,复数表示所有
13. 设置queue/topic/destination上的属性
addprop removeprop setprop等
14. 查看服务器对象或者用户的权限列表
showacl user Jackson
showacl queue JacksonTestQueue
15. 服务器对象或者用户的删除
delete
16. 消息的删除
purge queue JacksonTestQueue
EMS动态Queue
在EMS里,动态queueu是由application产生的,而静态queue是由管理界面或修改config文件创建的. 动态queue有很大的灵活性,在某些场合比使用静态queue更适合。有关讨论可以看JMS。
1)EMS的动态queue是以 "*" 作为开头,还有一种特殊的动态queue叫临时queue,
2)如过动态queue没有consumer也没有信息在队列中,ems会择机清除该queue
3)临时queue的名字是由EMS server生成,只有在创建该queue的session才能消费里面的内容。EMS 重起后临时queue会被清除,不管里面有无内容。
4)要允许application创建动态queue,queues.conf 必须使用wildcard进行配置。
查看某个队列的Q的msg让哪个连接吃掉了。
命令:show consumers queue=队列名
Ems容错配置(翻译)
一.容错配置
为了便于区别,参数用斜黑体表示。
配置主服务器
打开c:\tibco\ems\bin\tibemsd.conf (该文件称作Ems配置文件)
Server=EMS-SERVER-RAMU(该值取决于您的选择)
Listen=tcp://7222(该值取决于您的选择)
Ft_active=tcp://7444(该值取决于您的选择)
配置备份服务器
在bin目录下创建Backup目录,并把c:\tibco\ems\bin\ 目录下的*.conf 文件(只是配置文件)拷贝到c:\tibco\ems\bin\Backup\
注意:从现在起,我们将在Backup目录下工作,打开该目录下的tibemsd.conf 文件
Server=EMS-SERVER-RAMU(这个值必须和主服务器的tibemsd.conf 文件中的服务器参数的值一致)
Listen=tcp://7444(这个值必须和主服务器的tibemsd.conf 文件中的Ft_active 参数的值一致)
Ft_active=tcp://7222(这个值必须和主服务器的tibemsd.conf 文件中的监听参数的值一致)
store=c:\tibco\ems\bin\datastore(这个值必须和主服务器的tibemsd.conf 文件中的存储参数store,注意主服务器的tibemsd.conf 文件中的这个值正好是datastore)
在备份服务器tibemsd.conf的下述列表中,前面加上路径c:\tibco\ems\bin\Backup\
users=c:\tibco\ems\bin\Backup\users.conf
groups=c:\tibco\ems\bin\Backup\groups.conf
topics=c:\tibco\ems\bin\Backup\topics.conf
queues=c:\tibco\ems\bin\Backup\queues.conf
acl_list=c:\tibco\ems\bin\Backup\acl.conf
factories=c:\tibco\ems\bin\Backup\factories.conf
routes=c:\tibco\ems\bin\Backup\routes.conf
bridges=c:\tibco\ems\bin\Backup\bridges.conf
transports=c:\tibco\ems\bin\Backup\transports.conf
tibrvcm=c:\tibco\ems\bin\Backup\queues.conf
durables=c:\tibco\ems\bin\Backup\durables.conf
如果您观察主服务器的 tibemsd.conf文件,并和备份服务器的 tibemsd.conf文件对比,您会发现主服务器的tibemsd.conf文件中的某些参数未指明路径。例如"users=users.conf"在备份服务器的tibemsd.conf 文件中我们定义为"users=c:\tibco\ems\bin\Backup\users.conf"。之所以这样是因为安装ems服务器时,设置了这些值,知道在哪个路径下查找,所以在主服务器的tibemsd.conf文件中各参数没有包含完整路径。
二 运行服务器
进入“所有程序”>“运行”>输入"cmd"
得到window下的命令提示符,输入命令:cd c:\tibco\ems\bin
现在进入bin目录
启动主服务器
输入命令:tibemsd(这是一个应用程序)
启动备份服务器
打开另一个命令提示符,输入下列命令,进入相应目录:cd c:\tibco\ems\bin
输入如下命令,启动备份服务器:
tibemsd -config Backup\tibemsd.conf (备份服务器以此方式启动,主服务器不用,因为主服务器的tibemsd.conf文件和tibemsd应用程序在同一个目录)
在备份服务器命令提示行可以看到它处于standby模式(tcp://7222
【设置两台TIBCO queue数据传输的办法】
有两种情况,在这两种情况的前提下routing 的属性值一定为enabled
1.在authorization 为disabled的情况下
假设10.2.18.86 =>TIBCO EMS 的服务器名为 TESTA (show server 查看服务器名)
10.2.18.70=>TIBCO EMS 的服务器名为TESTB
现在希望TESTB中的queue.Q1数据流向TESTA中的queue.Q1.
第一, 先在TESTB中建立route命令:
create route TESTAurl=tcp://10.2.18.86:7222 红色的一定要和第一个的服务器名相同。否则会连接不上
第二, 现在建立带有global属性的队列 queue.Q1 ,在TESTA中进行如下操作。
Create queue queue.Q1 global 必须有global
第三, 在TESTB中建立一样的队列,但命令和A有所差别。
Create queue queue.Q1@ TESTA (TESTA就是之前创建的route名称) @表示所有发送到queue。Q1的消息都会发送到TESTA中的queue.Q1
2.在authorization = enabled的情况下。
第一, 在TESTA中设置 set server authorization=enabled;此步骤不需要重启
第二,创建一个用户名为TESTB服务器名的用户,如create user TESTB password=123456 这里一定要用服务器名。
第三 ,在TESTB中设置一个密码 如set server password=123465.TESTB会用这个密码登录到TESTA中。这样就可以实现queue中的数据流向了
Tibemsd.conf 配置文件说明:
########################################################################
# Server Identification Information.
#
# server: 唯一的用户名,标识改服务器的名称。
# password: 密码,用于登录时可以识别。默认为空
########################################################################
server = EMS-SERVER
password =
########################################################################
# Persistent Storage.
#
# store: 配置存储消息的目录,在用于持久化到数据库中的话会有用到这些文件
########################################################################
store = "%TIBCO_HOME_CFGMGMT_DIR_ESC%/ems/data/datastore"
########################################################################
# 连接到服务器的最大连接数,如果设置为0 表示没有限制。
########################################################################
max_connections = 0
########################################################################
# max_msg_memory
#消息占用的最大内存,如果设置为0则为不限制,设置改值时,单位可以使用KB,MB或者GB
#msg-swapping
#是否设置交换区在硬盘上
########################################################################
max_msg_memory = 512MB
msg_swapping = enabled
########################################################################
# 服务器的监听端口,一般是tcp或ssl 可以指定任何端口。
########################################################################
listen = tcp://7222
########################################################################
#授权,默认为disabled,如果启用了则会检查用户的证书及授权到达安全的目的地。
########################################################################
authorization = disabled
########################################################################
# 设置两台服务器之间queue数据传输的方式。A服务器中的某个queue的数据可以流向B服务器中的某个Queue
########################################################################
routing = disabled
########################################################################
# 设置为enable,相关属性有两个,一个是flowControl 指定目标地址(queue or topic)
# 存放的消息的size,一个是overflowPolicy设置内存溢出政策
# 1.default 2.discardOld 3.rejectIncoming
# 如果为1.在topic 当超过指定的maxbtye或maxmsg时,消费者receiver不到消息,且不
# 返回错误。在queue中会返回错误,拒接接受新的消息。
#如果为2. 在topic中,如果溢出,那么msg在被抛弃前会被receiver不返回错误,在queue
#中会把老的消息废弃,且会报错。
#如果为3.在topic中如果溢出,则拒接接受消息,并返回一个错误消息。和1一样。
#
#setprop queue myQueue maxmsgs=1000,overflowPolicy=discardOld
########################################################################
flow_control = disabled
########################################################################
# 启用或关闭TIBCO EMS 多个服务器中的多个传输链路的方式。
#相关配置文件配置为 channels.conf ,可以设置每个频道的传输带宽。
########################################################################
multicast = disabled
########################################################################
# Enable Rendezvous transports defined in transports.conf.
#启用Tibco Rendezvous消息通讯,
#如果要设置此功能,有可能会涉及到其他3个地方的配置。
#1.transport.conf文件的配置,主要配置该管道的queue/topic的消息策略及Rendezvous的
#地址
#2.queue.conf 配置上对在transport.conf上的引用。
#3.topic.conf配置上在对transport.conf的引用
########################################################################
tibrv_transports =
####################################################################################
在此之前我们先了解一下tibco的登录:
我们进入到tibco的启动目录/usr/local/tibco/ems/6.0/bin,执行 ./tibemsadmin
当出现类似
Version 6.0.1 V3 1/12/2011
Type 'help' for commands help, 'exit' to exit:
>
输入connect ip 端口,其实默认端口是7222,可以省略的~