基于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中的高级函数map/reduce使用实例
Apr 13 Python
在 Python 应用中使用 MongoDB的方法
Jan 05 Python
Python3实现的画图及加载图片动画效果示例
Jan 19 Python
python爬虫爬取淘宝商品信息
Feb 23 Python
python数据挖掘需要学的内容
Jun 23 Python
python机器学习库scikit-learn:SVR的基本应用
Jun 26 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
Oct 12 Python
Python 使用type来定义类的实现
Nov 19 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
Jan 16 Python
DataFrame 数据合并实现(merge,join,concat)
Jun 14 Python
python时间time模块处理大全
Oct 25 Python
使用python如何删除同一文件夹下相似的图片
May 07 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
PHP 读取文件的正确方法
2009/04/29 PHP
php实现mysql同步的实现方法
2009/10/21 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
JavaScript 深层克隆对象详解及实例
2016/11/03 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
webpack4.0打包优化策略整理小结
2018/03/30 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
Vue触发隐藏input file的方法实例详解
2019/08/14 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
js和jquery判断数据类型的4种方法总结
2020/08/28 jQuery
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
Python实现数据库并行读取和写入实例
2017/06/09 Python
python变量命名的7条建议
2019/07/04 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
美国美食礼品篮网站:Gourmet Gift Baskets
2019/12/15 全球购物
安全员岗位职责
2013/11/11 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
养成教育经验材料
2014/05/26 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
运动会运动员赞词
2015/07/22 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL