基于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 示例分享---逻辑推理编程解决八皇后
Jul 20 Python
python新手经常遇到的17个错误分析
Jul 30 Python
使用Python脚本来控制Windows Azure的简单教程
Apr 16 Python
Python实现HTTP协议下的文件下载方法总结
Apr 20 Python
详解python3百度指数抓取实例
Dec 12 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
Jun 19 Python
python 随机森林算法及其优化详解
Jul 11 Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 Python
如何运行带参数的python脚本
Nov 15 Python
python 解决flask 图片在线浏览或者直接下载的问题
Jan 09 Python
Python+SeaTable实现计算两个日期间的工作日天数
Jul 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
如何使用PHP获取网络上文件
2006/10/09 PHP
js下函数般调用正则的方法附代码
2008/06/22 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
2016/11/03 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
jQuery实现跨域
2015/02/03 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
使用JS实现导航切换时高亮显示的示例讲解
2018/08/22 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
python进阶教程之文本文件的读取和写入
2014/08/29 Python
Python中的异常处理简明介绍
2015/04/13 Python
Python字符编码判断方法分析
2016/07/01 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
python数值基础知识浅析
2019/11/19 Python
Python autoescape标签用法解析
2020/01/17 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
Selenium环境变量配置(火狐浏览器)及验证实现
2020/12/07 Python
用CSS3打造HTML5的Logo(实现代码)
2016/06/16 HTML / CSS
Love, Bonito国际官网:新加坡女装品牌
2021/03/13 全球购物
WSDL的操作类型主要有几种
2013/07/19 面试题
总务岗位职责
2013/11/19 职场文书
英语生日邀请函
2014/01/23 职场文书
道路建设实施方案
2014/03/18 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python