近日,Oracle推出了一个新的开源框架Helidon,该项目是一个用于创建基于微服务的应用程序的Java库集合。和Payara Micro、Thorntail(之前的WildFly Swarm)、OpenLiberty、TomEE等项目一样,该项目也加入了MicroProfile家族。

\\

Helidon最初被命名为J4C(Java for Cloud),其设计以简单、快速为目标,它包括两个版本:Helidon SEHelidon MP。Helidon SE提供了创建微服务的三个核心API:Web服务器、配置和安全,用于构建基于微服务的应用程序,不需要应用服务器。Helidon MP支持用于构建基于微服务的应用程序的MicroProfile 1.1规范。

\\

Web服务器

\\

受NodeJS和其他Java框架的启发,Helidon的Web服务器是一个异步、反应性API,运行在Netty之上。WebServer接口包括对配置、路由、错误处理以及构建度量和健康端点的支持。

\\

下面的示例代码演示了如何启动一个简单的Helidon Web服务器,在一个随机可用的端口上显示“It works!”:

\\

\// 在一个随机可用的端口上启动服务器\public void startWebServerUsingRandomPort() throws Exception {\    WebServer webServer = WebServer\           .create(Routing.builder()\                   .any((req,res) -\u0026gt; res.send(\"It works!\" + \"\\"))\                   .build())\           .start()\           .toCompletableFuture()\           .get(10,TimeUnit.SECONDS);\    System.out.println(\"Server started at: http://localhost:\" + webServer.port() + \"\\");\    webServer.shutdown().toCompletableFuture();\    }\

\\

配置

\\

配置组件Config加载和处理键/值格式的配置属性。在默认情况下,配置属性将从定义好的application.propertiesapplication.yaml文件中读取,它们位于/src/main/resources目录下。

\\

下面的示例代码基于前面的例子构建,它演示了如何使用Config,通过读取applications.yaml文件获得指定的端口启动Web服务器。

\\

\// application.yaml\server:\ port: 8080\ host: 0.0.0.0\\ \// 在application.yaml预定义的端口上启动服务器\public void startWebServerUsingDefinedPort() throws Exception {\    Config config = Config.create();\    ServerConfiguration serverConfig = ServerConfiguration.fromConfig(config.get(\"server\"));\    WebServer webServer = WebServer\           .create(serverConfig,Routing.builder()\                   .any((req,res) -\u0026gt; res.send(\"It works!\" + \"\\"))\                   .build())\           .start()\           .toCompletableFuture()\           .get(10,TimeUnit.SECONDS);\    System.out.println(\"Server started at: http://localhost:\" + webServer.port() + \"\\");\    webServer.shutdown().toCompletableFuture();\    }\

\\

安全

\\

Security为身份验证、授权和审计提供支持。已经有许多用于Helidon应用程序的安全提供程序实现。有三种方法可以将安全性内置到Helidon应用程序中:从构建器、通过配置或者是前两者的结合。

\\

下面的示例代码演示了如何构建Security实例、使用Config获取用户身份验证(使用加密密码)并显示服务器时间。

\\

\// application.yaml\http-basic-auth:\ users:\   login: \"mpredli\"\   password: \"${CLEAR=somePassword}\"\   roles: [\"user\

Oracle推出轻量级Java微服务框架Helidon相关推荐

  1. Oracle发布开源的轻量级 Java 微服务框架 Helidon

    近日,Oracle推出了一个新的开源框架Helidon,该项目是一个用于创建基于微服务的应用程序的Java库集合.和Payara Micro.Thorntail(之前的WildFly Swarm).O ...

  2. Oracle发布开源的轻量级 Java 微服务框架 Helidon 1

    近日,Oracle推出了一个新的开源框架Helidon,该项目是一个用于创建基于微服务的应用程序的Java库集合.和Payara Micro.Thorntail(之前的WildFly Swarm).O ...

  3. Java微服务框架一览

    原文:Java Microservices: Code Examples, Tutorials, and More 作者:Angela Stringfellow 翻译:雁惊寒 译者注:本文首先简单介绍 ...

  4. 【插件发布】JAVA微服务框架,Jeecg-P3-Biz-OA 1.0.0 插件开源发布

    JAVA微服务框架,Jeecg-P3-Biz-OA 1.0.0 插件开源发布 OA办公插件,采用JEECG-P3微服务框架技术,实现OA办公基本功能,H5页面素材:相册管理.联系人.联系人详细.报表. ...

  5. 【插件发布】JAVA微服务框架,Jeecg-P3-Base-System 1.0.0 插件开源发布

    JAVA微服务框架,Jeecg-P3-Base-System 1.0.0 插件开源发布 系统管理插件,采用JEECG-P3微服务框架技术,实现了P3插件平台支撑的基础功能:用户管理,角色管理.菜单管理 ...

  6. 【插件发布】JAVA微服务框架,Jeecg-P3-Demo 1.0.0 插件开源发布

    JAVA微服务框架,Jeecg-P3-Demo 1.0.0 插件开源发布 Jeecg-P3-Demo项目,采用JEECG-P3微服务框架技术,做了几个常见Demo功能案例:普通列表.树列表.一对多列表 ...

  7. 主流Java微服务框架有哪些?-开课吧

    本文我们简单聊聊当下主流的3个Java微服务框架,看看各自的特点. 1.Spring and SpringBoot SpringBoot在Java微服务领域绝对是一哥,毫无争议,据说已经占据57%的市 ...

  8. golang 比较完美的通用框架,kratos v2.0 学习,一套轻量级 Go 微服务框架,包含大量微服务相关框架及工具。涵盖了互联网开发的常用功能模块的开发库。

    目录 前言 1,关于kratos v2.0 2,Principles 原则 2,Features 特色 3,Architecture 架构 4,总结 前言 本文的原文连接是: https://blog ...

  9. Java 微服务框架选型

    Java 微服务框架选型(Dubbo 和 Spring Cloud?) 微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署, ...

最新文章

  1. GDB attach到进程
  2. 社会网络计算与社会网络分析、核心指标有哪些?社会网络计算有什么意义?
  3. git 移动分支指针_git 分支( branch ) 的基本使用
  4. ntu part-time phd 信息整理
  5. java书籍_还搞不定Java多线程和并发编程面试题?你可能需要这一份书单!
  6. utilities——C++常用仿函数
  7. 前端程序员也需要知道进程和线程
  8. Python实现微信机器人——itchat库
  9. 用usboot制作启动U盘
  10. stl文件unity_Unity导入STL格式模型(二)
  11. 02【需求调研】的概念,包括那些内容,有哪些方法?
  12. 射频回波损耗、反射系数、电压驻波比、S参数的含义与关系
  13. id-mapping 理解和实现
  14. 2021-07-15-2021年全球10大最佳单板计算机开发板(SBC)(第1-3名)
  15. 【maven】Unable to find javadoc command: The environment variable JAVA_HOME is not correctly set.
  16. 《德鲁克管理思想精要》读书笔记6 - 企业家战略
  17. 小程序源码:强大的多功能图片处理器微信小程序
  18. 小论文中添加脚注(可以不显示标号)
  19. Coco2d-x 3.x : Cocos Studio 制作的UI无法正确显示,出现绿色或白色底
  20. TCPIP卷一(8):EIGRP的组建和邻居状态机

热门文章

  1. SAP RETAIL WA01创建分配表报错- No allocation rule allowed for allocation strategies or variants-
  2. 2020年全球工业机器人行业市场现状及竞争格局分析
  3. 理想L2辅助驾驶都撞车了,特斯拉的L5之梦怎么办?
  4. 不止视觉,CMU研究员让机器人学会了听音辨物
  5. PLM的关键点—实施篇
  6. 这应该是全网最好的「机器学习」科普文
  7. 一文看懂人脸识别(4个特点+4个实现步骤+5个难点+算法发展轨迹)
  8. 围观各大企业如何活用人工智能,并运用实践?
  9. 谷歌AI乳腺癌检测超过人类?美国知名记者:让糟糕的医疗更糟罢了
  10. 如何评价算法的好坏?