opendaylight hello solium-sr2

这篇博客介绍了如何在OpenDaylight Neon SR3版本上开发一个Hello World RPC应用。首先,通过克隆ODLparent设置文件和指定项目坐标来获取项目框架,并在Eclipse中导入。接着,添加helloworld RPC API,修改Yang文件并实现接口。在遇到构造函数找不到错误时,通过查阅资料发现是blueprint.xml配置问题。最后,修复配置,成功测试RPC请求。
摘要由CSDN通过智能技术生成

截止目前2021年8月,opendaylight已经发布了氢hydrogen版本、硅silicon版本等10多个版本。氖neon版本之前,ODL的java版本为8系列,氖neon版本之后为java11版本。考虑到java的版权问题,考虑使用java8版本。
在这里插入图片描述

hello project

参考教程Developing Apps on the OpenDaylight controller

第一部分 获取项目框架

1.首先将https://github.com/opendaylight/odlparent/setting.xml文件拷贝到本地maven仓库目录下。

2.项目框架生成命令,1.1.3为neon-sr3版本(真实是1.2.2版本,solium-sr2版本(java-8))

mvn archetype:generate -DarchetypeGroupId=org.opendaylight.archetypes -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeCatalog=remote -DarchetypeVersion=1.1.3

3.输入项目坐标属性

Define value for property 'groupId': : org.opendaylight.hello
Define value for property 'artifactId': : hello
Define value for property 'version':  1.0-SNAPSHOT: : 1.0.0-SNAPSHOT
Define value for property 'package':  org.opendaylight.hello: :
Define value for property 'classPrefix': 
Define value for property 'copyright': : chyi

4.编译

cd hello
mvn clean install -DskipTests  -Dcheckstyle.skip

5.运行

cd karaf\target\assembly\bin
.\karaf.bat

在这里插入图片描述

6.使用eclipse导入hello代码(File->import->existing maven project)
在这里插入图片描述

添加helloworld rpc API

7.修改文件api/src/main/yang/hello.yang代码如下:

module hello {
    yang-version 1;
    namespace "urn:opendaylight:params:xml:ns:yang:hello";
    prefix "hello";
    revision "2015-01-05" {
        description "Initial revision of hello model";
    }
    
    //add snippet
    rpc hello-world {
        input {
            leaf name {
                type string;
            }
        }
        output {
            leaf greeting {
                type string;
            }
        }
    }
    //add end
}

hello/api目录下使用命令mvn clean install -DskipTests -Dcheckstyle.skip编译,odl会基于这个yang文件生成相应的接口函数,下面实现接口函数

8.在目录impl/src/main/java/org/opendaylight/hello/impl/下创建文件HelloWorldImpl.java,内容如下:

package org.opendaylight.hello.impl;

import com.google.common.util.concurrent.ListenableFuture;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值