10 约定291天后

尚未进行身份认证

暂无相关描述

等级
博文 85
排名 4w+

OSGI框架里对于依赖的非bundle化的JAR处理

目前项目使用的是OSGI框架,随着功能越来越复杂,依赖的第三方开源组件也越来越多。但并不是所有通过Maven依赖的jar都是bundle,这样导致系统需要处理这类情况。目前方式两种:1、在使用模型的pom文件加入该jar的依赖,在feature.xml文件中将该jar包装成bundle发布<dependency><groupId...

2019-07-13 09:21:11

GraphQL实践(三)-结果统一处理

GraphQL返回结果处理,由于提供的是REST接口,所以优先返回JSON格式数据,对执行结果使用JSON进行序列化。相关代码如下packagecom.zte.sunquan.demo.graph.util;importjava.util.Map;importlombok.extern.slf4j.Slf4j;importcom.fasterxml.jackson.cor...

2019-07-01 19:48:34

GraphQL实践(二)

用GraphQL实现常见的CRUD功能,本文介绍简单的查询功能packagecom.zte.sunquan.demo.graph.ql;importstaticgraphql.Scalars.GraphQLString;importstaticgraphql.schema.GraphQLArgument.newArgument;importstaticgraphql.s...

2019-06-28 17:17:55

GraphQL实践(一)

微服务架构下,使用REST进行微服务间交互,针对基础数据服务模块(以下简称A),目前陷入困镜,主要问题是:日益增长的外部需求和应用,对数据访问接口提出过多定制化内容。使得开发疲于开发适配接口和适配模型,以满足应用各类要求下面举例说明:业务自身的业务需求或其它原因,已经定义好了数据模型,需要A提供额外的接口,返回他们定义的数据模型格式的数据 业务无后台,针对数据查询,只要有交互就提...

2019-06-27 19:50:13

ODL VS ONOS中YANG转化对比

Yang(ADataModelingLanguagefortheNetworkConfigurationProtocol)是一种用于模型配置和状态数据建模的语言。作为一门语言有其自身的规则语法(参考RFC6020),而证明一个句子,是否为YANG语言这个命题自然就涉及到编译原理的内容。  编译原理的主要内容包括:语言和文法、词法分析、语法分析、语法制导翻译、中间...

2018-12-02 10:48:35

项目功能验收阶段的小问题

在进行项目管理过程中,每个迭代或每个阶段的任务功能验收是一个必不可少的环节。特别是项目团队成员较多,任务功能分散的情况中。本文就个人工作中情况,技术上介绍下功能点验收流程遇到的小问题。本司有一套对feature、story进行管理工具。迭代结束时亦是基于上面的feature、story由QA进行验收。功能验收标准,主要有以下几条:输出 具体要求 是否必要 单元测...

2018-12-01 10:34:14

Lombok实践

最近在做JavaBean相关的功能开发,在写到第三个JavaBean的Set/Get方法时,已然开始烦躁,通过搜索,发现了lombok这个工具,看来自己还是太OUT了,下面简单介绍这款工具的使用。为使IDE在编码时不至于报错,请安装lombok这个插件如果无法上网,可以去https://github.com/mplushnikov/lombok-intellij-plugin/rele...

2018-10-22 22:26:58

Jetty扫盲之实践(一)

Jetty作为项目使用的轻量级web容器,使用广泛。目前的微服务化也是以该技术为基础。熟悉如Spring-boot技术的同学不要嘲笑,本文只是技术学习而已。 基本实现作为web服务,可以通过web.xml的进行配置,主要对servlet进行配置(本文不通过配置文件而是通过代码直接加载Servlet)<?xmlversion="1.0"encoding="ISO-88...

2018-10-20 15:10:57

DropWizard入门实践

Dropwizard是一个操作友好、开发RESTful服务的Java高性能框架,Dropwizard有自己独立的风格,可以辅助以JettyJacksonJersey和Metrics提供强大的基于JVM后端服务,Dropwizard将稳定成熟带给了Java生态系统,大道至简,轻量库包让你聚焦业务,Dropwizard有out-of-the-box支持复杂的配置应用度量记录、日志等,让你的队伍...

2018-09-10 08:51:18

ODL中RPC接口的restconf化原理

在ODL的使用过程,一直疑惑他是如何将YAGN文件定义的RPC映射成restconf接口。换句话说,即restconf接口是如何对应指定的RCP的。原理介绍下面针以RPCGetConfigLeader为例,揭开其中真相:以下面的RestConf调用接口,可以通过postman或api-doc直接访问,亦可以通过ODL提供的api-doc访问:http://localhost:...

2018-09-07 11:42:20

ODL中使用YANG-UTIL带来类无法加载BUG

ODL基于的MDSL,其模型用YAGN语言进行定义,编程则使用yang-toolst生成的类,而产生的数据,即存储在ODL的DataStore中的数据需要经过序列化和反序列化。而序列化反序列化代码是通过Javassist动态生成的。BindingToNormalizedNodecodec.javapublic<TextendsDataObject>Entry&...

2018-09-06 20:39:04

jung实践-拓扑图形绘制

最近在研究涉及到网络中的算路问题,自然会涉及到图相关的知识。经验表明好的数据结构往往比算法本身更为重要。JUNG(JavaUniversalNetwork/GraphFramework)是一个通用的可扩展的,用来创建图表的类库。一个用Java来建模、分析和做可视化图表的框架。官网:http://jung.sourceforge.net/site/jung-samples/source...

2018-08-07 22:00:27

一款好用的国内模型引擎Beetl

本文介绍一款国内同学编写的一款6倍于Freemarker的超高性能的java模板引擎-Beetl直接上代码示例:使用该模板总共三步,获取模板配置----绑定参数-----生成,具体测试代码参考:publicclassBeetlTest{@Testpublicvoidtest1()throwsIOException{String...

2018-08-04 14:12:50

ODL(ODL-beryllium))中OwnerShip相关逻辑梳理

Netconf集群最近故障爆发,其根源利用了controller的ownership功能,急需梳理逻辑,所以有了这篇文章。针对Netconf任一节点,其candidate和owner信息都存储在ODLDataStore操作库中的ownership分片中。简单介绍下candidate和owner的含义,如图,A、B、C为三个控制器,都与设备进行了连接,无ownership功能,任何针对设...

2018-07-24 22:10:44

CentOS安装tcpdump及docker中使用

CentOS系统中首先需要安装tcpdump的rpm包下载tcpdump-4.0.0-3.20090921gitdf3cb4.1.el6.x86_64.rpm宿主机中使用yum命令安装tcpdumpyuminstalltcpdump-4.0.0-3.20090921gitdf3cb4.1.el6.x86_64.rpm拷贝所所需内容至对应docker容器中dockercp/usr/sbin/...

2018-04-20 09:46:39

Netconf集群(ODL-beryllium)

安装Featurefeature:installoscp-mdsal-alloscp-restconf-alloscp-mdsal-clusteringoscp-netconf-clustered-topologyoscp-netconf-mdsaloscp-netconf-connector-all这里顺带介绍下关于集群akka.conf的配置文件./configure_cluste...

2018-04-19 16:30:13

Karaf命令行辅助开发

先介绍:net.sourceforge.argparse4j.ArgumentParsers;在命令行中,要实现如上常用的help,通过ArgumentParsers,则可以容易实现,参考代码packagecom.zte.sunquan.demo.param;importjava.io.File;importjava.util.ArrayList;importnet.sourcef...

2018-04-04 11:19:16

Future之allAsList与successfulAsList

Guava中Futurestransform:对于ListenableFuture的返回值进行转换。allAsList:对多个ListenableFuture的合并,返回一个当所有Future成功时返回多个Future返回值组成的List对象。注:当其中一个Future失败或者取消的时候,将会进入失败或者取消。successfulAsList:和allAsList相似,唯一差别是对于失败或取消的F...

2018-03-30 10:45:36

Akka之actor name [c1] is not unique!

测试代码,父Actorpackagecom.zte.sunquan.deom.ofo;importakka.actor.AbstractActor;importakka.actor.ActorRef;importakka.actor.Props;importjava.util.Optional;/***Createdbysunquanon2018/3/29....

2018-03-29 17:05:55

通过error_pidxxxx.log分析OOM

JVMcrash后,将错误日志输出到指定目录,配置-XX:ErrorFile=./hs_err_pid<pid>.log#Nativememoryallocation(malloc)failedtoallocate1048576bytesforcommittingreservedmemory.针对OOM,日志中已经给出了可能的原因:#Possiblere...

2018-03-20 09:20:11
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!