基于python使用tibco ems代码实例


Posted in Python onDecember 20, 2019

 这篇文章主要介绍了基于python使用tibco ems代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

TIBCO Enterprise Message Service 是一个消息服务器产品

完全支持JMS的通讯协议,在运行速度和消息吞吐量上表现非常出色,

对于Windows、Linux、Mac、AIX平台都提供支持

代码如下

#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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python3实现的腾讯微博自动发帖小工具
Nov 11 Python
在Python的Django框架中更新数据库数据的方法
Jul 17 Python
Python实现简单求解给定整数的质因数算法示例
Mar 25 Python
Python实现按照指定要求逆序输出一个数字的方法
Apr 19 Python
对pandas进行数据预处理的实例讲解
Apr 20 Python
对Python的zip函数妙用,旋转矩阵详解
Dec 13 Python
Django使用rest_framework写出API
May 21 Python
python3访问字典里的值实例方法
Nov 18 Python
Python+unittest+requests+excel实现接口自动化测试框架
Dec 23 Python
pycharm 实现调试窗口恢复
Feb 05 Python
http通过StreamingHttpResponse完成连续的数据传输长链接方式
Feb 12 Python
python读取mat文件生成h5文件的实现
Jul 15 Python
使用python实现数组、链表、队列、栈的方法
Dec 20 #Python
python隐藏类中属性的3种实现方法
Dec 19 #Python
Python合并2个字典成1个新字典的方法(9种)
Dec 19 #Python
关于Python中定制类的比较运算实例
Dec 19 #Python
在python中利用try..except来代替if..else的用法
Dec 19 #Python
Python字符串的修改方法实例
Dec 19 #Python
python中property和setter装饰器用法
Dec 19 #Python
You might like
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
php如何调用webservice应用介绍
2012/11/24 PHP
解析php中如何调用用户自定义函数
2013/08/06 PHP
Symfony查询方法实例小结
2017/06/28 PHP
jQuery EasyUI API 中文文档 - EasyLoader 加载器
2011/09/29 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
vue.js 实现评价五角星组件的实例代码
2018/08/13 Javascript
layui实现form表单同时提交数据和文件的代码
2019/10/25 Javascript
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
2016/07/04 Python
matplotlib绘制动画代码示例
2018/01/02 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
Django之编辑时根据条件跳转回原页面的方法
2019/08/21 Python
python3使用GUI统计代码量
2019/09/18 Python
Django分组聚合查询实例分享
2020/04/29 Python
用python实现学生管理系统
2020/07/24 Python
python字典按照value排序方法
2020/12/28 Python
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
自荐书4要点
2014/01/25 职场文书
实验教师岗位职责
2014/02/13 职场文书
公司会计岗位职责
2014/02/13 职场文书
应届生找工作求职信
2014/06/24 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
大学生党员个人总结
2015/02/13 职场文书
校长个人总结
2015/03/03 职场文书
舞出我人生观后感
2015/06/16 职场文书
欢送领导祝酒词
2015/08/12 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
六五普法先进个人主要事迹材料
2015/11/03 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
SQL Server Agent 服务无法启动
2022/04/20 SQL Server