python 使用 tibco ems
2024-08-21 14:33:11
emshelper.py
#encoding=utf-8
import jpype jvmpath=r"C:\Program Files\Java\jre1.8.0_161\bin\server\jvm.dll" class EmsHelper(object):
def __init__(self, server= "tcp://localhost:7222",user="admin",pwd=""):
gemsjar = r"E:\EDriver\software\JAVA\jar\Gems.jar;D:\tibco\bw5\ems\8.2\lib\tibjms.jar;D:\tibco\bw5\ems\8.2\lib\tibcrypt.jar;D:\tibco\bw5\ems\8.2\lib\slf4j-api-1.4.2.jar;D:\tibco\bw5\ems\8.2\lib\slf4j-simple-1.4.2.jar;D:\tibco\bw5\ems\8.2\lib\tibjmsadmin.jar;D:\tibco\bw5\ems\8.2\lib\jms-2.0.jar;D:\tibco\bw5\ems\8.2\lib\jndi.jar"
#gemsjar = r"D:\tibco\bw5\ems\8.2\lib\jms-2.0.jar;E:\EDriver\software\JAVA\jar\tibjms.jar"
jvmArg = "-Djava.class.path=.;%s" % gemsjar
jpype.startJVM(jvmpath,jvmArg)
self.TibjmsConnection = jpype.JClass('com.tibco.tibjms.TibjmsConnection')
self.TibjmsConnectionFactory = jpype.JClass('com.tibco.tibjms.TibjmsConnectionFactory') def SendQueueMsg(self,qname="testq",msgstr=str({'id':1,'name':"tname"})):
connfac = self.TibjmsConnectionFactory(server)
conn=connfac.createConnection(user,pwd)
session=conn.createSession(0,1)
dest=session.createQueue(qname)
msgProducer = session.createProducer(None)
msg = session.createTextMessage()
msg.setText(msgstr)
msgProducer.send(dest, msg)
conn.close() def ShowQueueMsg(self,qname="testq",maxlen=5):
connfac = self.TibjmsConnectionFactory(server)
conn=connfac.createConnection(user,pwd)
session=conn.createSession()
queue = session.createQueue(qname)
browser = session.createBrowser(queue)
msgs = browser.getEnumeration()
num = 0
while(msgs.hasMoreElements()):
num+=1
message =msgs.nextElement()
print message.getText()
if(num>=maxlen):
break
browser.close()
conn.close() def HandleOneQueueMsg(self,qname="testq"):
connfac = self.TibjmsConnectionFactory(server)
conn=connfac.createConnection(user,pwd)
session=conn.createSession()
queue = session.createQueue(qname)
dest=session.createQueue(qname)
msgConsumer = session.createConsumer(dest)
conn.start()
msg = msgConsumer.receive()
msg.acknowledge()
self.HandleMsg(msg.getText())
conn.close() def HandleMsg(self,msgstr):
print "message is : ",msgstr if __name__ == '__main__':
server,user,pwd,qname,msgstr="tcp://localhost:7222","admin","","testq",str({'id':1,'name':"tname"})
eh=EmsHelper(server,user,pwd)
eh.HandleQueueMsg()
最新文章
- PHP二维码生成的方法(google APi,PHP类库,libqrencode等)
- 关于设置oracle中系统编号SYSID自动编号的问题;
- MAX-HEAPIFY(2/3n的疑惑)
- MIT 2012分布式课程基础源码解析-事件管理封装
- ios开发必备第三方库
- hdu 4902 Nice boat 线段树
- SQL Server服务开闭
- 【Java入门提高篇】Day10 Java代理——静态代理
- 解决html5 canvas 绘制字体、图片与图形模糊问题
- Python 自动发送邮件
- 实时折射、镜面反射shader
- 阅读 ‘External Memory PHY Interface (ALTMEMPHY)’笔记
- 客户端服务端web问题
- 用JS实现判断iframe是否加载完成
- (弃) Keystone CLI_选项与子命令概况
- [py]你真的了解多核处理器吗? 了解多线程
- 03 解析库之Beautifulsoup模块
- [LeetCode] 208. Implement Trie (Prefix Tree) ☆☆☆
- Python isalpha() 方法
- git删除本地保存的账号和密码
热门文章
- Scrapy框架——介绍、安装、命令行创建,启动、项目目录结构介绍、Spiders文件夹详解(包括去重规则)、Selectors解析页面、Items、pipelines(自定义pipeline)、下载中间件(Downloader Middleware)、爬虫中间件、信号
- go 连接到数据库
- 小程序的数据监听 用法和vue中的watch一样====使用通配符监听所有自数据字段的变化
- Python 获取本月的最后一天
- UOJ46 清华集训2014玄学(线段树)
- Spring Cloud Alibaba学习笔记(16) - Spring Cloud Gateway 内置的路由谓词工厂
- C#解压、压缩高级用法
- win10 idea启动Tomcat后控制台中文乱码
- VBA文本文件(二十)
- 原生JS获取HTML DOM元素的8种方法