基于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判断IP地址合法性的方法实例
Mar 13 Python
Python文件夹与文件的操作实现代码
Jul 13 Python
Python中的groupby分组功能的实例代码
Jul 11 Python
python 实现绘制整齐的表格
Nov 18 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
Dec 10 Python
解决pycharm上的jupyter notebook端口被占用问题
Dec 17 Python
详解PyQt5信号与槽的几种高级玩法
Mar 24 Python
使用pth文件添加Python环境变量方式
May 26 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
Aug 17 Python
python,Java,JavaScript实现indexOf
Sep 09 Python
pytorch中Schedule与warmup_steps的用法说明
May 24 Python
Python可变与不可变数据和深拷贝与浅拷贝
Apr 06 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的array_multisort()使用方法介绍
2012/05/16 PHP
php中socket的用法详解
2014/10/24 PHP
php设置静态内容缓存时间的方法
2014/12/01 PHP
php判断访问IP的方法
2015/06/19 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
详解jQuery中的empty、remove和detach
2016/04/11 Javascript
微信小程序获取用户openid的实现
2018/12/24 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
Vue实现购物车实例代码两则
2020/05/30 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
Python线程中对join方法的运用的教程
2015/04/09 Python
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
Django中使用locals()函数的技巧
2015/07/16 Python
分析python请求数据
2018/08/19 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
CSS3 3D位移translate效果实例介绍
2016/05/03 HTML / CSS
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
CSS3动画和HTML5新特性详解
2020/08/31 HTML / CSS
利用Canvas模仿百度贴吧客户端loading小球的方法示例
2017/08/13 HTML / CSS
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
英国家庭、花园、汽车和移动解决方案:Easylife Group
2018/05/23 全球购物
领导的自我鉴定
2013/12/28 职场文书
秘书行业自我鉴定范文
2013/12/30 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
北京故宫的导游词
2015/01/31 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书