基于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 学习笔记
Dec 27 Python
Python中的tuple元组详细介绍
Feb 02 Python
Python格式化css文件的方法
Mar 10 Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 Python
Pandas 对Dataframe结构排序的实现方法
Apr 10 Python
python使用turtle库绘制树
Jun 25 Python
python安装numpy和pandas的方法步骤
May 27 Python
Pycharm保存不能自动同步到远程服务器的解决方法
Jun 27 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
Sep 24 Python
在Python IDLE 下调用anaconda中的库教程
Mar 09 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 Python
python flappy bird小游戏分步实现流程
Feb 15 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
PHP的消息通信机制测试实例
2016/11/10 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/25 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
JavaScript SHA512&SHA256加密算法详解
2015/08/11 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
2015/08/24 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
详解express使用vue-router的history踩坑
2019/06/05 Javascript
JavaScript动态检测密码强度原理及实现方法详解
2019/06/11 Javascript
Python列表生成式与生成器操作示例
2018/08/01 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
实例详解Python模块decimal
2019/06/26 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
艺术用品:Arteza
2018/11/25 全球购物
中专毕业生自荐信范文
2013/11/28 职场文书
高中校园广播稿
2014/01/11 职场文书
鲜花方阵解说词
2014/02/13 职场文书
歌唱比赛主持词
2014/03/18 职场文书
政治表现评语
2014/05/04 职场文书
安全教育月活动总结
2014/05/05 职场文书
机械专业毕业生自我鉴定2014
2014/10/04 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python