基于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从ftp下载数据保存实例
Nov 20 Python
Python selenium 三种等待方式详解(必会)
Sep 15 Python
详解python 发送邮件实例代码
Dec 22 Python
python实现树形打印目录结构
Mar 29 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 Python
浅谈pycharm下找不到sqlalchemy的问题
Dec 03 Python
python 产生token及token验证的方法
Dec 26 Python
Python类和对象的定义与实际应用案例分析
Dec 27 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
Dec 11 Python
python设置中文界面实例方法
Oct 27 Python
Python趣味挑战之教你用pygame画进度条
May 31 Python
Python之matplotlib绘制饼图
Apr 13 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面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
2014/01/02 Javascript
详解jquery中$.ajax方法提交表单
2014/11/03 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
Three.js快速入门教程
2016/09/09 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
jquery实现页面加载效果
2017/02/21 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
python实现的登录和操作开心网脚本分享
2014/07/09 Python
Python基于PycURL自动处理cookie的方法
2015/07/25 Python
Python 实现链表实例代码
2017/04/07 Python
Python OpenCV获取视频的方法
2018/02/28 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
Python如何优雅获取本机IP方法
2019/11/10 Python
python 一维二维插值实例
2020/04/22 Python
运行Python编写的程序方法实例
2020/10/21 Python
娱乐地球:Entertainment Earth
2020/01/08 全球购物
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
大学应届毕业生个人求职信
2013/09/23 职场文书
班组长安全生产职责
2013/12/16 职场文书
电工工作职责范本
2014/02/22 职场文书
民族团结先进集体事迹材料
2014/05/22 职场文书
2014高三学生考试作弊检讨书
2014/12/14 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
JavaScript前端面试扁平数据转tree与tree数据扁平化
2022/06/14 Javascript