基于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实现的检测web服务器健康状况的小程序
Sep 17 Python
python网络编程之读取网站根目录实例
Sep 30 Python
在Python的框架中为MySQL实现restful接口的教程
Apr 08 Python
Windows下安装python2和python3多版本教程
Mar 30 Python
python好玩的项目—色情图片识别代码分享
Nov 07 Python
python 限制函数调用次数的实例讲解
Apr 21 Python
python绘制多个曲线的折线图
Mar 23 Python
详解django中使用定时任务的方法
Sep 27 Python
python 求1-100之间的奇数或者偶数之和的实例
Jun 11 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
Jul 04 Python
python 实现兔子生兔子示例
Nov 21 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
May 20 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之字符串变相相减的代码
2007/03/19 PHP
php与paypal整合方法
2010/11/28 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
2014/06/12 PHP
php面向对象中static静态属性与方法的内存位置分析
2015/02/08 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
AngularJS 避繁就简的路由
2016/07/01 Javascript
文件上传,iframe跨域数据提交的实现
2016/11/18 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
python list 合并连接字符串的方法
2013/03/09 Python
windows下python安装pip图文教程
2018/05/25 Python
对Tensorflow中权值和feature map的可视化详解
2018/06/14 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
python格式化输出保留2位小数的实现方法
2019/07/02 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
机械个人求职信范文
2014/01/24 职场文书
新闻学专业个人求职信写作
2014/02/04 职场文书
会务接待方案
2014/02/27 职场文书
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
学习优秀党务工作者先进事迹材料思想报告
2014/09/17 职场文书
年度考核个人总结
2015/03/06 职场文书
赤壁观后感(2)
2015/06/15 职场文书
欠款证明
2015/06/24 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
2016优秀大学生个人事迹材料范文
2016/03/01 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书