色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenDaylight的示例

汽車電子技術 ? 來源:碼農與軟件時代 ? 作者:碼農與軟件時代 ? 2023-02-14 14:11 ? 次閱讀

OpenDaylight提供了一個例子:Toaster(烤面包機),借這個例子學習OpenDaylight的特性。在Toaster中,真正有關烤面包機相關的代碼較少,它只是一種OpenDaylight具體思想的展示品,已有相關文章對其進行了分析。現在我們舉一個永恒的示例:Hello World。

一、應用程序類型

OpenDaylight應用程序開發,分如下兩種:

(1)如果提供API接口能夠滿足當前需求,那么只需基于REST API開發External System(外置式應用程序);

(2)如果提供的API接口不能滿足當前需求,則需要進行Internal System(內置式應用程序)的開發,可以理解為插件。

二、應用程序開發流程

對于External System來說,我們在介紹基于REST API編程時再進行介紹。下面我們來看下,Internal System的開發流程如下圖所示:

圖片

(1)生成項目骨架(Archetype)

Archetype是一個Maven項目模板工具包,使用Archetype來生成項目骨架,可以使得開發人員在開發新的應用程序時,使用與ODL風格一致的最佳實踐方法。

(2)定義模型(model)

YANG在OpenDaylight中做為建模語言使用,MD-SAL中M即是YANG。YANG的使用已不局限于NETCONF。YANG模型定義之后,通過YANG TOOLS可以自動生成部分代碼,但對于Model對應的具體實現需要添加相關業務邏輯。

執行mvn clean install -Dmaven.test.failure.ignore=true

圖片

(3)代碼實現

①實現Impl:添加業務邏輯(上圖藍色部分);

②配置blueprint.xml:xml文件定義和描述了不同組件的組裝,它是Blueprint編程模型的關鍵。規范描述了組件如何獲得實例,如何捆綁到一起形成一個運行模塊。

(4)構建安裝

執行 mvn clean install命令,可以將代碼打包并安裝到倉庫中。

圖片

(5)測試

OpenDaylight提供了API測試頁面,可以在該頁面直接進行API的測試,地址為:http://localhost:8181/apidoc/explorer/index.html

三、Hello示例

1.構建Hello項目

步驟1 執行構建項目命令:

mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeRepository=http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ -DarchetypeCatalog=http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/archetype-catalog.xml

輸入Hello交互信息

Define value for property 'groupId': org.opendaylight.hello

Define value for property 'artifactId': hello

[INFO] Using property: version = 0.1.0-SNAPSHOT

Define value for property 'package' org.opendaylight.hello: :

Define value for property 'classPrefix' Hello: : hello

Define value for property 'copyright': No

[INFO] Using property: copyrightYear = 2017

Confirm properties configuration:

groupId: org.opendaylight.hello

artifactId: hello

version: 0.1.0-SNAPSHOT

package: org.opendaylight.hello

classPrefix: hello

copyright: No

copyrightYear: 2017

Y: : Y

安裝成功的信息提示:

[INFO] ----------------------------------------------------------------------------

[INFO] Using following parameters for creating project from Archetype: opendaylight-startup-archetype:1.3.0-Carbon

[INFO] ----------------------------------------------------------------------------

[INFO] Parameter: groupId, Value: org.opendaylight.hello

[INFO] Parameter: artifactId, Value: hello

[INFO] Parameter: version, Value: 0.1.0-SNAPSHOT

[INFO] Parameter: package, Value: org.opendaylight.hello

[INFO] Parameter: packageInPathFormat, Value: org/opendaylight/hello

[INFO] Parameter: classPrefix, Value: hello

[INFO] Parameter: package, Value: org.opendaylight.hello

[INFO] Parameter: version, Value: 0.1.0-SNAPSHOT

[INFO] Parameter: copyright, Value: No

[INFO] Parameter: groupId, Value: org.opendaylight.hello

[INFO] Parameter: artifactId, Value: hello

[INFO] Parameter: copyrightYear, Value: 2017

[WARNING] Don't override file D:\\CODE\\odlexample\\hello\\hello\\pom.xml

[INFO] Project created from Archetype in dir: D:\\CODE\\odlexample\\hello\\hello

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 45.526 s

步驟2. 構建Hello項目,執行命令

mvn clean install -Dmaven.test.failure.ignore=true

[INFO] --- maven-site-plugin:3.6:attach-descriptor (generate-site) @ hello-aggregator ---

[INFO] Attaching 'src\\site\\site.xml' site descriptor with classifier 'site'.

[INFO] ------------------------------------------------------------------------

[INFO] Reactor Summary:

[INFO]

[INFO] ODL :: org.opendaylight.hello :: hello-api ......... SUCCESS [ 19.565 s]

[INFO] ODL :: org.opendaylight.hello :: hello-impl ........ SUCCESS [ 8.826 s]

[INFO] ODL :: org.opendaylight.hello :: hello-cli ......... SUCCESS [ 8.878 s]

[INFO] ODL :: org.opendaylight.hello :: hello-features .... SUCCESS [15:41 min]

[INFO] ODL :: org.opendaylight.hello :: hello-karaf ....... SUCCESS [ 41.676 s]

[INFO] ODL :: org.opendaylight.hello :: hello-artifacts ... SUCCESS [ 1.794 s]

[INFO] ODL :: org.opendaylight.hello :: hello-it .......... SUCCESS [03:38 min]

[INFO] hello .............................................. SUCCESS [ 23.209 s]

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 21:07 min

生成的項目骨架為:

圖片

生成的代碼文件為:

圖片

2.定義模型

步驟1 修改 api/src/main/yang/hello.yang,增加簡單的Hello RPC信息:

圖片

步驟2 執行命令:mvn clean install -Dmaven.test.failure.ignore=true

圖片

3.代碼實現

步驟1 實現Impl:

圖片

步驟2 配置blueprint.xml

在文件impl-blueprint.xml( src/main/resources/org/opendaylight/blueprint)注冊RPC引用,增加粗體部分信息。

圖片

注:在 Blueprint XML 中,bean 元素將定義一個 bean 管理器。用于對象構造的參數由 argument 元素指定;注入的屬性則由 property 子元素指定。property 元素指定要注入的屬性的名稱和值。屬性名與 Java 類中的 setter 方法名對應。例如,如果屬性名為 foo,那么對應的 setter 方法為 setFoo(arg)。屬性名和對應的 setter 方法名遵循 JavaBeans 規范中定義的屬性設計模式。

步驟3 類HelloProvider中init方法中綁定HelloService和HelloWorldImpl

圖片

4.構建安裝、啟動測試

步驟1 執行命令 mvn clean install

步驟2 啟動OpenDaylight

\\CODE\\odlexample\\hello\\hello\\karaf\\target\\assembly\\bin>karaf

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=256M; support was removed in 8.0

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0

Apache Karaf starting up. Press Enter to open the shell now...

100% [========================================================================]

Karaf started in 29s. Bundle stats: 294 active, 294 total

步驟3 瀏覽器打開如下地址(admin\\admin):

http://localhost:8181/apidoc/explorer/index.html

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    1502

    瀏覽量

    62050
  • 編程
    +關注

    關注

    88

    文章

    3616

    瀏覽量

    93760
  • REST
    +關注

    關注

    0

    文章

    32

    瀏覽量

    9419
收藏 人收藏

    評論

    相關推薦

    Matlab繪圖示例

    Matlab繪圖示例
    發表于 05-10 10:07 ?826次閱讀

    ChipScope使用示例

    Xilinx FPGA工程例子源碼:ChipScope使用示例
    發表于 06-07 14:13 ?7次下載

    設計示例

    六設計示例
    的頭像 發表于 05-29 11:10 ?1230次閱讀
    設計<b class='flag-5'>示例</b>

    NanDAC+mbed示例

    NanDAC+mbed示例
    發表于 03-23 09:32 ?10次下載
    NanDAC+mbed<b class='flag-5'>示例</b>

    示例SigmaStudio程序

    示例SigmaStudio程序
    發表于 03-23 18:25 ?15次下載
    <b class='flag-5'>示例</b>SigmaStudio程序

    華為游戲服務示例代碼教程案例

    概述 游戲服務kit安卓示例代碼集成了華為游戲服務的眾多API,提供了示例代碼程序供您參考和使用,下面是對示例代碼不同包的描述。 achievement: 成就特性的示例代碼。 arc
    發表于 04-11 11:09 ?4次下載

    如何從零開始學OpenDaylight

    OpenDaylight的邏輯架構分為應用層、控制器層和數據轉發層。其中,應用層聚焦網絡業務邏輯開發,負責資源編排;控制器層進行全局網絡的管理;數據轉發層為各種網絡設備,負責數據的轉發。
    的頭像 發表于 02-14 14:04 ?2249次閱讀
    如何從零開始學<b class='flag-5'>OpenDaylight</b>

    OpenDaylight的運行環境

    OpenDaylight作為一種開源的SDN控制器,使用Java語言編寫,
    的頭像 發表于 02-14 14:08 ?866次閱讀
    <b class='flag-5'>OpenDaylight</b>的運行環境

    OpenDaylight中的OSGi

    從寫單個類的打印Hello World小程序到OSGi模塊化開發,確實存在較大的難度,本文將從模塊化、OSGI模型以及OSGI在OpenDaylight中的應用等方面進行介紹。
    的頭像 發表于 02-14 15:05 ?778次閱讀
    <b class='flag-5'>OpenDaylight</b>中的OSGi

    OpenDaylight中的DataStore是什么

    SDN起源于校園網,發揚光大于數據中心,現廣泛用于廣域網,SDN控制器,可能管理著數十萬臺軟交換機,下發數百萬乃至上千萬條路由信息。因此,作為SDN控制器的開源項目OpenDaylight,無論是業務邏輯還是數據存儲,
    的頭像 發表于 02-14 15:13 ?1504次閱讀
    <b class='flag-5'>OpenDaylight</b>中的DataStore是什么

    軟件示例:DA1468x 示例設置

    軟件示例:DA1468x 示例設置
    發表于 03-13 20:15 ?0次下載
    軟件<b class='flag-5'>示例</b>:DA1468x <b class='flag-5'>示例</b>設置

    教程 5:BLE 安全示例

    教程 5:BLE 安全示例
    發表于 03-15 20:34 ?0次下載
    教程 5:BLE 安全<b class='flag-5'>示例</b>

    Vivado HDL編寫示例

    Vivado 軟件提供了HDL編寫中常用的示例,旨在幫助初學者更好地理解和掌握HDL編程,這里分享一下verilog代碼示例
    的頭像 發表于 05-16 16:58 ?1055次閱讀

    軟件示例:DA1468x 示例設置

    軟件示例:DA1468x 示例設置
    發表于 07-05 18:59 ?0次下載
    軟件<b class='flag-5'>示例</b>:DA1468x <b class='flag-5'>示例</b>設置

    自己編寫函數示例代碼很難嗎?分享幾個示例

    Q A 問: Arduino Uno的函數示例 我決定自己編寫函數示例代碼,因為這應該是Arduino中的基本示例。網絡上確實有關于使用函數的文檔,但是,如果要嘗試使用代碼環境,則必須得訪問
    的頭像 發表于 11-16 16:05 ?524次閱讀
    自己編寫函數<b class='flag-5'>示例</b>代碼很難嗎?分享幾個<b class='flag-5'>示例</b>!
    主站蜘蛛池模板: 亚洲国产韩国欧美在线不卡 | 欧美午夜免费观看福利片| 午夜伦午夜伦锂电影| GAY空少被体育生开菊| 老司机午夜影院味味| 亚洲国产精品久久精品成人网站| 成人影片下载网站| 青青青草免费| 别插我B嗯啊视频免费| 秋霞成人午夜鲁丝一区二区三区| free俄罗斯性xxxxhd派对| 妹妹成人网| 99视频免视看| 最近中文字幕完整版高清| 人人听力网mp3下载| 国产综合在线视频| 99热这里只有 精品| 亚洲成人在线免费| 欧美video巨大粗暴18| 国产亚洲tv在线观看| 99国产强伦姧在线看RAPE| 无遮挡午夜男女XX00动态| 久久网站视频| 国产精品人妻无码久久久奥特曼| 最新在线黄色网址| 午夜熟女插插XX免费视频| 免费国产成人| 国模玲玲自拍337p| 被两根巨大同时进去高H| 野花韩国中文版免费观看| 色多多污污版免费下载安装| 欧美一区二区激情视频| china chinese中国人玩| 日日色在线影院| 国产亚洲精品久久久久5区| 一品探花论坛| 欧美精品3atv一区二区三区| 国产二级一片内射视频播放| 一点色成人| 日本美女论坛| 好大好硬好湿再深一点网站|