ONOS编程系列一剖析.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ONOS编程系列一剖析

ONOS编程系列(一)之简单应用开发北京石头 ??15-04-17 ??3,275?人围观一个ONOS application是使用maven做管理的OSGi bundle。 因此,ONOS application 可以归结为Java类和POM文件的集合。本教程以基于intent的交互式转发application为例,讨论了如何从零开始建立一个新应用。本教程假设读者已经具备ONOS的运行经验,能够熟练启动ONOS实例。有关ONOS的启动不做过多描述。如果出现启动上的问题,请移步官方wiki文档自行寻找答案。本文章结束后,你应该学会:应用的组织与结构;如何在多个服务中注册你的应用;北向API的基本应用;如何运行一个应用。一、在Eclipse中导入工程直接按照maven项目导入就可以,详情请见ONOS环境部署。1.1 注意在ONOS项目中,对代码有着格式上的一些要求,不管是正式代码,还是测试用例。请根据要求修改增加代码的格式。如果想要跳过代码checkstyle,可以在onos项目根目录下的pom。xml文件中,注释掉关于checkstyle的plugin:不过非常不建议这样做。最好的方法还是按照官方的要求,进行编程。关于代码格式检查,如果使用的是Eclipse,可以配置checkstyle进行检查:一路点击eclipse--help--Eclipse Marketplace,进入界面:在输入框里输入“checkstyle”,然后选择框住的那个插件进行傻瓜式安装,就是一路next。这个过程很有可能会报错,Eclipse提示找不到下载网址。如果这种情况,可在/update/这个地方下载,在本地安装就可以了。安装好以后,在window--preference弹出的界面里就能看到checkstyle的选项了。单击该选项,右面出现相关界面:然后点击NEW按钮,增加一个checkstyle文件,在本地ONOS工程里找到onos自己的checkstyle文件,别忘记起个名字。然后就能在checkstyle文件列表里看到刚刚新添加的文件了。我给它的命名是ONOS。接下来选中该项,点击右边的“Set as Default”,再点击OK,就大功告成了。后面再新加的文件任意处右键,就能在菜单列表里看到checkstyle的选项了。只需要点击“Check Code with Checkstyle”,就能检查本文件的代码格式是否符合onos的要求了。二、项目骨架2.1 设置项目的目录结构应用的根目录设置在apps/之下:1$ mkdir -p ${ONOS_ROOT}/apps/ifwd应用的源文件定义在src/main/java/之下:1? $ mkdir -p ${ONOS_ROOT}/apps/ifwd/src/main/java/org/onosproject/ifwd类似的,测试文件定义在src/test/java/之下:1 $ mkdir -p ${ONOS_ROOT}/apps/ifwd/src/test/java/org/onosproject/ifwd2.2 添加并编辑pom文件在应用的根目录/apps/ifwd/下编辑pom文件:在本例中,应用的名字是onos-app-ifwd。在启动karaf/ONOS命令行界面以后,直接用feature:install加上名字,即可安装此应用。然后,编辑apps/pom.xml,在文件中以形式包含该项目:2.3 在karaf中注册该应用Karaf在运行时若要部署该应用module,需要名为feature.xml的描述性文件,编辑?${ONOS_ROOT}/features/features.xml:三、完成项目代码该应用的核心是名为?IntentReactiveForwarding.java的文件,被定义在${ONOS_ROOT}/apps/?src/main/java/org/onosproject/ifwd/?里。为了便于对文档进行注释,在main/java/下需要添加一个package-info.java文件,其包含一下内容:一般IDE会提供生成这个文件的选项。Eclipse在新建包的时候会提供该选项:剩下的部分将会描述如何编辑IntentReactiveForwarding类。3.1 注册Karaf,使其自动加载karaf的模块加载机制需要几个annotations,即注解,去注册。可用的注解尤其是以下四个尤为重要:@Component(immediate = true)?-?declares a class as a component to activate, and?forces immediate activation;@Activate?- marks a method as t

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档