基于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正则表达式的使用范例详解
Aug 08 Python
详解Python中DOM方法的动态性
Apr 11 Python
详解python的数字类型变量与其方法
Nov 20 Python
python 生成图形验证码的方法示例
Nov 11 Python
Python设计模式之策略模式实例详解
Jan 21 Python
分析运行中的 Python 进程详细解析
Jun 22 Python
django mysql数据库及图片上传接口详解
Jul 18 Python
Python中使用gflags实例及原理解析
Dec 13 Python
python numpy库linspace相同间隔采样的实现
Feb 25 Python
django之从html页面表单获取输入的数据实例
Mar 16 Python
总结Pyinstaller的坑及终极解决方法(小结)
Sep 21 Python
Python与C/C++的相互调用案例
Mar 04 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
ThinkPHP空模块和空操作详解
2014/06/30 PHP
基于CakePHP实现的简单博客系统实例
2015/06/28 PHP
PHP代码优化技巧小结
2015/09/29 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
js常用函数 不错
2006/09/08 Javascript
初识javascript 文档碎片
2010/07/13 Javascript
TBCompressor js代码压缩
2011/01/05 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
使用BootStrap实现标签切换原理解析
2017/03/14 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
vue-router单页面路由
2017/06/17 Javascript
浅谈angular2路由预加载策略
2017/10/04 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
JS字符串常用操作方法实例小结
2019/06/24 Javascript
python操作MySQL数据库的方法分享
2012/05/29 Python
介绍Python的Django框架中的QuerySets
2015/04/20 Python
Django 多语言教程的实现(i18n)
2018/07/07 Python
Python获取时间戳代码实例
2019/09/24 Python
python 二维矩阵转三维矩阵示例
2019/11/30 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
体育教师工作总结的自我评价
2013/10/10 职场文书
中职生自荐信
2013/10/13 职场文书
读书小明星事迹材料
2014/05/03 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
责任书范本大全
2015/05/11 职场文书
2017年大学生寒假社会实践活动总结
2016/04/06 职场文书
SpringBoot接入钉钉自定义机器人预警通知
2022/07/15 Java/Android