版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MES移动应用快速开发平台IServer插件开发指南1简介22运行机制23插件开发语言24插件类型25插件与事件36插件开发36.1开发环境36.2插件接口46.3插件注册76.4插件部署87插件使用81 简介IServer插件,亦即Plug-in,是指一类实现特定功能的代码模块(通常由第三方开发都实现),用户可以随时的在IServer上激活与禁用插件;且无论是激活还是禁用都不影响IServer的运行,也就是说插件是一种非侵入式的模块化设计,实现了MES平台的内核与插件程序的松散耦合。通过开发各种各样的插件来增强IServer的功能。MES平台同样也内置了常见的功能性插件,比如针对附件查阅的插
2、件、数据库操作的插件、Http协议操作插件、下载插件、缓存插件等。IServer插件的开发必须遵循MES的插件开发规范,主要涉及插件的开发语言、实现接口、插件的注册三大方面。2 运行机制IServer的插件是由IServer的Plug-in Framework负责加载及卸载,以及插件生命周期的管理,也可以理解为IServer的插件是被Plug-in Framework托管的模块实例。Plugin-in Framework根据插件的各种注册信息即时或延迟加载插件。3 插件开发语言IServer的插件采用JAVA语言开发,开发用户不单可以利用java灵活的语法,丰富的JDK基础类库,而且可以引用各
3、种种的第三方类库,简化各种复杂功能的开发。4 插件类型当前MES 3.0版本的插件支持以下二种类型的插件:l 单态即整个IServer服务器只有此插件的一个实例运行。l 原型即每次用户通过me.getMesPlugin方法获取插件都会产生一个新的插件实例。5 插件与事件IServer的插件允许监时以下各种类型的服务器事件:l 页面事件插件通过实现IPageContextListener接口,可以监听页面的各种事件,包括页面的创建、销毁,具体请参考IPageContextListener接口。l 会话事件插件通过实现ISessionListener接口,可以监听会话的各种事件,包括会话的创建、销
4、毁,具体请参考ISessionListener接口。l 应用系统事件插件通过实现IAppContextListener接口,可以监听应用系统的各种事件,包括应用系统的启动、停止,具体请参考IAppContextListener接口。l 服务器事件插件通过实现IServerContextListener接口,可以监听服务器的各种事件,包括服务器的启动、停止,具体请参考IServerContextListener接口。6 插件开发6.1 开发环境l 安装JDK 下载并安装SUN JDK 1.6l 安装Eclipse下载并安装Eclipse 3.4以上版本l 启动MES IServer启动MES I
5、Server服务器6.2 插件接口l IPluginIServer插件的根接口,具体请参照IPlugin接口文档插件代码public class MyPlugin implements IPlugin private IResource resource; private IPageContext pageContext; private IServerContext serverContext; public MyPlugin() /* * 初始化 */public void initialize() System.out.println(“当我被创建时,可将需要的初始化代码放在这里”);
6、/* * 销毁 */public void destory() System.out.println(“当我被销毁时,可将清理代码放在此”); public IResource getResource() return resource; public void setResource(IResource resource) this.resource = resource; public void setPageContext(IPageContext context) this.pageContext = context; public IPageContext getPageContex
7、t() return pageContext; public void setServerContext(IServerContext context) this.serverContext = context; public IServerContext getServerContext() return serverContext; /*自定义方法一*/public int add(int a,int b) return a + b;public int sub(int a,int b) return a b;脚本代码<mml><script> var n = me
8、. getMesPlugin(“插件ID”).add(1,2); var n2 =me. getMesPlugin(“插件ID”).sub(n,1);</script></mml>l CommonMEPluginCommonMEPlugin继承自IPlugin接口,实现了IPlugin接口的大多数方法,除了initialize、destory。因此我们建议用户在开发插件时,直接继续此抽象类,简化插件开发。插件代码,实现的功能与上面的代码一样,但代码却简洁许多public class MyPlugin extends CommonMEPlugin private IRes
9、ource resource; private IPageContext pageContext; private IServerContext serverContext; public MyPlugin() /* * 初始化 */public void initialize() System.out.println(“当我被创建时,可将需要的初始化代码放在这里”); /* * 销毁 */public void destory() System.out.println(“当我被销毁时,可将清理代码放在此”); /*自定义方法一*/public int add(int a,int b) ret
10、urn a + b;public int sub(int a,int b) return a b;6.3 插件注册将已开发完成的插件向IServer注册,注册方式是以XML格式文件注入,IServer的插件注册文件存放在/IServer/mes/server/WEB-INF/classes/plugin.xml<plugins><plugin id="com.mes.server.plugin.database" class="com.mes.server.plugin.database.DatabasePlugin"/><
11、plugin id="com.mes.server.plugin.download" single="true" class="com.mes.server.plugin.download.DownloadPlugin"/><plugin id="com.mes.server.plugin.httpquery" class="com.mes.server.plugin.httpquery.HttpQueryPlugin"/><plugin id="com.mes
12、.server.plugin.parameterQuery" class="com.mes.server.plugin.httpquery.ParameterQueryPlugin"/><plugin id="com.mes.server.plugin.cache" auto="true" single="true" class="com.mes.server.plugin.cache.CachePlugin"/><plugin id="com.mes
13、.server.plugin.attachement" class="com.mes.server.plugin.attachement.AttachementPlugin"/><plugin id="com.mes.server.plugin.htmlquery" class="com.mes.server.plugin.htmlquery.HtmlQueryPlugin"/></plugins>每个plugin标记表示一个插件,plugin标记有以下四种属性:l id 插件id,表示插件的唯一标识,系统通过此标识识别插件,如me. getMesPlugin(“id”),不能为空。l class插件实现类,即实现IPlugin或CommonMEPlugin接口的类,不能为空。l single表示此插件是否单态,true表示单态,默认值为falsel auto表示此插件是否在IServer启动时自动加载,前提是single=true。true表示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生会文艺部工作计划文艺部个人工作计划书
- 2025年定点扶贫工作计划
- 2025学校总务处工作计划例文
- 葫芦丝教学计划
- 幼儿园学前班个人计划
- 如何写好一份商业计划书
- 销售后勤工作计划范文
- 《骨关节创伤图》课件
- 《民法基础知识》课件
- 《外汇储备》课件
- GA/T 2137-2024法庭科学工业大麻及其加工产品中Δ9-四氢大麻酚等4种成分检验液相色谱和液相色谱-质谱法
- 太阳和蜉蝣(2022年浙江绍兴中考语文试卷记叙文阅读题及答案)
- 部队教学法教案模板范文头部包扎
- 【建设方案】虚拟电厂及管控管理平台建设总体方案
- 2024年中考道法一轮复习七年级上册 综合测试(解析版)
- 必修五unit4-倒装句市公开课一等奖省赛课微课金奖课件
- 《读书 目的和前提》《上图书馆》导学案
- UI设计理论与实践智慧树知到期末考试答案章节答案2024年湖南应用技术学院
- 2023-2024学年山东省青岛市市北区六年级(上)期中英语试卷
- 2024广西专业技术人员继续教育公需科目参考答案(97分)
- AED使用指南课件
评论
0/150
提交评论