




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java通过jolt调用.TMIB监控服务1、前言操作这一步的基础是在前面已经学会了tuxedo部署、simpapp列子,以及通过jolt用java调用tuxedo列子的前提情况下查看,如果以上都不会,请查看我共享的其他几份文档。2、Java代码比较简单:以下贴出代码:这段代码中监控了服务、service、以及服务组,百度上说,服务和service之间是没有联系的,经过我查看发现有一个小小的联系,就是svcgrp,所以我这里也得到svcgrp,这样可以得到服务和service之间的联系。package com.insigma.siis.local.mib;import bea.jolt.JoltRemoteService;import bea.jolt.JoltSession;import bea.jolt.JoltSessionAttributes;public class TestMib public static void main(String args) try connTuexdo(.TMIB, , 192.168.101.63, 38151); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace(); public static String connTuexdo(String inServiceName, String inStr, String ServiceIP, int ServicePort) throws Exception JoltSession session = null; JoltSessionAttributes sattr = null; JoltRemoteService toupper = null; String userName = null, userPassword = null, appPassword = null, userRole = null,strResult = null; String serverName = , serviceName = , srvcgrvName = , errorStr = , stateStr = , srvgrpName = ; int serverLength = 0, serviceLength = 0, srvgrpLength = 0; if (inServiceName = null) throw new Exception(调用平台服务错误:传入的服务名为空); try sattr = new JoltSessionAttributes(); sattr.setString(APPADDRESS, / + ServiceIP + : + ServicePort); sattr.setInt(IDLETIMEOUT, 1800); session = new JoltSession(sattr, userName, userRole, userPassword, appPassword); toupper = new JoltRemoteService(inServiceName, session); /得到服务信息 toupper.addString(TA_OPERATION, GET); toupper.addString(TA_CLASS, T_SERVER); toupper.call(null); serverLength = toupper.getOccurrenceCount(TA_SERVERNAME); for (int i = 0; i serverLength; i+) serverName = toupper.getStringItemDef(TA_SERVERNAME, i, );/如果服务状态没有信息的话,就把第三个参数返回给变量 stateStr = toupper.getStringItemDef(TA_STATE, i, ); errorStr = toupper.getStringItemDef(TA_ERROR, i, ); srvgrpName = toupper.getStringItemDef(TA_SRVGRP, i, ); System.out.println(第+ (i+ 1) + 个 服务名称: + serverName + 服务状态: + stateStr+ 错误信息: + errorStr + 服务组别的名称: + srvgrpName); /得到服务组别信息 toupper.clear(); toupper.addString(TA_OPERATION, GET); toupper.addString(TA_CLASS, T_SVCGRP); toupper.call(null); srvgrpLength = toupper.getOccurrenceCount(TA_SRVGRP); for (int j = 0; j srvgrpLength; j+) srvgrpName = toupper.getStringItemDef(TA_SRVGRP, j, );/如果服务状态没有信息的话,就把第三个参数返回给变量 stateStr = toupper.getStringItemDef(TA_STATE, j, ); errorStr = toupper.getStringItemDef(TA_ERROR, j, ); serviceName = toupper.getStringItemDef(TA_SERVICENAME, j, ); System.out.println(第+ (j+ 1) + 个 服务状态: + stateStr+ 错误信息: + errorStr + 服务组别的名称: + srvgrpName + 组下面的服务名称: + serviceName); /得到服务下的具体函数信息 toupper.clear(); toupper.addString(TA_OPERATION, GET); toupper.addString(TA_CLASS, T_SERVICE); toupper.call(null); serviceLength = toupper.getOccurrenceCount(TA_SERVICENAME); for (int k = 0; k serviceLength; k+) serviceName = toupper.getStringItemDef(TA_SERVICENAME, k, );/如果服务状态没有信息的话,就把第三个参数返回给变量 stateStr = toupper.getStringItemDef(TA_STATE, k, ); errorStr = toupper.getStringItemDef(TA_ERROR, k, ); System.out.println(第+ (k+ 1) + 个 服务状态: + stateStr+ 错误信息: + errorStr + 组下面的服务名称: + serviceName); /* toupper.setBytes(CARRAY, data, data.length ); toupper.setString(STRING, GET); toupper.setString(STRING, T_SERVER); toupper.setString(TA_OPERATION, GET); toupper.setString(TA_CLASS, T_SERVER); */ /* int a = toupper.getOccurrenceCount(TA_SERVICENAME); System.out.println(a ); String ss = ; ss = toupper.getStringItemDef(TA_SERVICENAME, 0, STRING); System.out.println(ss); ss = toupper.getStringItemDef(TA_SERVICENAME, 1, STRING); System.out.println(ss); ss = toupper.getStringItemDef(TA_SERVICENAME, 2, STRING); System.out.println(ss); String ss1 = toupper.getStringItemDef(TA_SERVERNAME, 1, STRING); String ss2 = toupper.getStringItemDef(TA_SERVERNAME, 2, STRING); String ss3 = toupper.getStringItemDef(TA_SERVERNAME, 3, STRING);*/ / String ss = toupper.getStringDef(TA_SERVERNAME, ); /System.out.println( 输出结果是 : + ss + ss1+ ss2 + ss3); catch (Exception ex) throw new Exception(ex.getMessage() + 调用平台服务出错); toupper.clear(); session.endSession(); sattr.clear(); toupper = null; session = null; sattr = null; return strResult; 3、配置文件在通过jolt用java调用tuxedo服务的时候需要一个配置文件,simpapp.rep 文件,文件里定义了java访问的service名称以及传入参数和传出参数。这里也需要对他们进行配置,配置完成之后,用java bea.jolt.admin.jbld /ip:端口 simpapp.rep文件。这里贴出simpapp.rep文件的内容:service=.TMIBexport=trueinbuf=FML32outbuf=FML32param=TA_OPERATIONtype=stringaccess=incount=2param=TA_CLASStype=stringaccess=inparam=TA_SERVICENAMEtype=stringaccess=outparam=TA_SERVERNAMEtype=stringaccess=outparam=TA_STATEtype=stringaccess=outparam=TA_ERRORtype=stringaccess=outparam=TA_SRVGRPtype=stringaccess=out配置文件一定要注意:稍微配错一点,都会导致系统跑不起来。解释:根据java代码看配置文件,你会理解的更加透彻一些:如java代码中:toupper.addString(TA_OPERATION, GET);toupper.addString(TA_CLASS, T_SERVER);而配置文件中的内容有:param=TA_OPERATIONtype=stringaccess=incount=2param=TA_CLASStype=stringaccess=in很明显,表示。TMIB服务需要传入两个参数,而这两个参数必须在配置文件中配置,否则系统会提示找不到对应的参数,而java代码中的 serviceName = toupper.getStringItemDef(TA_SERVICENAME, k, );/配置文件中的内容有:param=TA_SERVERNAMEtype=stringaccess=out这里是得到返回参数,所以是类型是out,type必须是小写的string,java中的TA_SERVICENAME必须和配置文件中的一致。其他的以此类推,我想大家应该懂了。4、细节注意4.1、配置文件注意:4.1.1类型:inbuf=FML32outbuf=FML32这里根据自己的情况来定,如tuxedo的服务中用的就是FML32,那这里就定义FML32,如果用的是FML那这里就是FML,如果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新品推广合同
- 工程私人协议合同范本
- 建材购货合同范本简易
- 小产权借款合同范本
- 社区医院劳务合同范本
- 潍坊劳务用工合同范本
- 网页制作定制合同范本
- 影楼员工入股合同范本
- 统借统还借款合同范本
- 矿山资质转让合同范本
- 土地复垦方案范本
- T-CRHA 089-2024 成人床旁心电监测护理规程
- 黄豆苷元药理作用研究-深度研究
- 2025年全国企业员工全面质量管理知识竞赛题库(试题及答案)
- 2025年电信人工智能学习考试题库(含答案)
- 机器人焊接技术与应用考核试卷
- CNAS-CL01:2018 检测和校准实验室能力认可准则
- 中考名著《唐诗三百首》习题集
- 危险性较大的分部分项工程安全监理实施细则
- 施工期间交通导行方案
- 《森林疗养基地建设技术导则》(T-CSF 001-2019)
评论
0/150
提交评论