基于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 相关文章推荐
基于scrapy的redis安装和配置方法
Jun 13 Python
Python使用matplotlib实现基础绘图功能示例
Jul 03 Python
在Python中pandas.DataFrame重置索引名称的实例
Nov 06 Python
python导入模块交叉引用的方法
Jan 19 Python
python实现两张图片拼接为一张图片并保存
Jul 16 Python
Atom Python 配置Python3 解释器的方法
Aug 28 Python
python实现井字棋小游戏
Mar 04 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
Mar 12 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
Jun 30 Python
浅析Python 字符编码与文件处理
Sep 24 Python
python wsgiref源码解析
Feb 06 Python
如何理解及使用Python闭包
Jun 01 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 a simple smtp class
2007/11/26 PHP
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
php对称加密算法示例
2014/05/07 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
2013/02/05 Javascript
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
nodejs教程之入门
2014/11/21 NodeJs
高性能JavaScript 重排与重绘(2)
2015/08/11 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
详解Puppeteer 入门教程
2018/05/09 Javascript
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
Python配置虚拟环境图文步骤
2019/05/20 Python
python标识符命名规范原理解析
2020/01/10 Python
python实现启动一个外部程序,并且不阻塞当前进程
2020/12/05 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
幼儿园家长会欢迎词
2014/01/09 职场文书
给同事的道歉信
2014/01/11 职场文书
平遥古城导游词
2015/02/03 职场文书
高三英语教学反思
2016/03/03 职场文书
vue首次渲染全过程
2021/04/21 Vue.js
对象析构函数__del__在Python中何时使用
2022/03/22 Python
CentOS MySql8 远程连接实战
2022/04/19 MySQL