基于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 相关文章推荐
深入解析Python编程中JSON模块的使用
Oct 15 Python
Python实现优先级队列结构的方法详解
Jun 02 Python
Python中动态创建类实例的方法
Mar 24 Python
用Python写王者荣耀刷金币脚本
Dec 21 Python
Python requests库用法实例详解
Aug 14 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
Jun 24 Python
django中使用事务及接入支付宝支付功能
Sep 15 Python
Python实现将蓝底照片转化为白底照片功能完整实例
Dec 13 Python
python 函数中的参数类型
Feb 11 Python
python3让print输出不换行的方法
Aug 24 Python
Python自动化测试基础必备知识点总结
Feb 07 Python
Django基础CBV装饰器和中间件
Mar 22 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中如何判断AJAX提交的数据
2012/02/05 PHP
php中常用的预定义变量小结
2012/05/09 PHP
php对二维数组进行排序的简单实例
2013/12/19 PHP
php session的应用详细介绍
2017/03/22 PHP
javascript 三种编解码方式
2010/02/01 Javascript
修改jquery.lazyload.js实现页面延迟载入
2010/12/22 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
Jquery获取第一个子元素简单实例
2016/06/02 Javascript
一个简单的JavaScript Map实例(分享)
2016/08/03 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
2016/12/13 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
vue学习笔记之Vue中css动画原理简单示例
2020/02/29 Javascript
小程序选项卡以及swiper套用(跨页面)
2020/06/19 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
Python基类函数的重载与调用实例分析
2015/01/12 Python
python3 shelve模块的详解
2017/07/08 Python
Python实现购物程序思路及代码
2017/07/24 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
Python告诉你木马程序的键盘记录原理
2019/02/02 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
2020/04/13 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
德国富尔达运动鞋店:43einhalb
2020/12/25 全球购物
社区爱国卫生月活动总结
2014/06/30 职场文书
小平小道观后感
2015/06/09 职场文书
公司考勤管理制度
2015/08/04 职场文书
2016年艾滋病宣传活动总结
2016/04/01 职场文书
教你如何使用Python实现二叉树结构及三种遍历
2021/06/18 Python
JavaScript数组 几个常用方法总结
2021/11/11 Javascript
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS