Oracle推出轻量级Java微服务框架Helidon
近日,Oracle推出了一个新的开源框架Helidon,该项目是一个用于创建基于微服务的应用程序的Java库集合。和Payara Micro、Thorntail(之前的WildFly Swarm)、OpenLiberty、TomEE等项目一样,该项目也加入了MicroProfile家族。
\\
Helidon最初被命名为J4C(Java for Cloud),其设计以简单、快速为目标,它包括两个版本:Helidon SE和Helidon 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.properties或application.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相关推荐
- Oracle发布开源的轻量级 Java 微服务框架 Helidon
近日,Oracle推出了一个新的开源框架Helidon,该项目是一个用于创建基于微服务的应用程序的Java库集合.和Payara Micro.Thorntail(之前的WildFly Swarm).O ...
- Oracle发布开源的轻量级 Java 微服务框架 Helidon 1
近日,Oracle推出了一个新的开源框架Helidon,该项目是一个用于创建基于微服务的应用程序的Java库集合.和Payara Micro.Thorntail(之前的WildFly Swarm).O ...
- Java微服务框架一览
原文:Java Microservices: Code Examples, Tutorials, and More 作者:Angela Stringfellow 翻译:雁惊寒 译者注:本文首先简单介绍 ...
- 【插件发布】JAVA微服务框架,Jeecg-P3-Biz-OA 1.0.0 插件开源发布
JAVA微服务框架,Jeecg-P3-Biz-OA 1.0.0 插件开源发布 OA办公插件,采用JEECG-P3微服务框架技术,实现OA办公基本功能,H5页面素材:相册管理.联系人.联系人详细.报表. ...
- 【插件发布】JAVA微服务框架,Jeecg-P3-Base-System 1.0.0 插件开源发布
JAVA微服务框架,Jeecg-P3-Base-System 1.0.0 插件开源发布 系统管理插件,采用JEECG-P3微服务框架技术,实现了P3插件平台支撑的基础功能:用户管理,角色管理.菜单管理 ...
- 【插件发布】JAVA微服务框架,Jeecg-P3-Demo 1.0.0 插件开源发布
JAVA微服务框架,Jeecg-P3-Demo 1.0.0 插件开源发布 Jeecg-P3-Demo项目,采用JEECG-P3微服务框架技术,做了几个常见Demo功能案例:普通列表.树列表.一对多列表 ...
- 主流Java微服务框架有哪些?-开课吧
本文我们简单聊聊当下主流的3个Java微服务框架,看看各自的特点. 1.Spring and SpringBoot SpringBoot在Java微服务领域绝对是一哥,毫无争议,据说已经占据57%的市 ...
- golang 比较完美的通用框架,kratos v2.0 学习,一套轻量级 Go 微服务框架,包含大量微服务相关框架及工具。涵盖了互联网开发的常用功能模块的开发库。
目录 前言 1,关于kratos v2.0 2,Principles 原则 2,Features 特色 3,Architecture 架构 4,总结 前言 本文的原文连接是: https://blog ...
- Java 微服务框架选型
Java 微服务框架选型(Dubbo 和 Spring Cloud?) 微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署, ...
最新文章
- GDB attach到进程
- 社会网络计算与社会网络分析、核心指标有哪些?社会网络计算有什么意义?
- git 移动分支指针_git 分支( branch ) 的基本使用
- ntu part-time phd 信息整理
- java书籍_还搞不定Java多线程和并发编程面试题?你可能需要这一份书单!
- utilities——C++常用仿函数
- 前端程序员也需要知道进程和线程
- Python实现微信机器人——itchat库
- 用usboot制作启动U盘
- stl文件unity_Unity导入STL格式模型(二)
- 02【需求调研】的概念,包括那些内容,有哪些方法?
- 射频回波损耗、反射系数、电压驻波比、S参数的含义与关系
- id-mapping 理解和实现
- 2021-07-15-2021年全球10大最佳单板计算机开发板(SBC)(第1-3名)
- 【maven】Unable to find javadoc command: The environment variable JAVA_HOME is not correctly set.
- 《德鲁克管理思想精要》读书笔记6 - 企业家战略
- 小程序源码:强大的多功能图片处理器微信小程序
- 小论文中添加脚注(可以不显示标号)
- Coco2d-x 3.x : Cocos Studio 制作的UI无法正确显示,出现绿色或白色底
- TCPIP卷一(8):EIGRP的组建和邻居状态机
热门文章
- SAP RETAIL WA01创建分配表报错- No allocation rule allowed for allocation strategies or variants-
- 2020年全球工业机器人行业市场现状及竞争格局分析
- 理想L2辅助驾驶都撞车了,特斯拉的L5之梦怎么办?
- 不止视觉,CMU研究员让机器人学会了听音辨物
- PLM的关键点—实施篇
- 这应该是全网最好的「机器学习」科普文
- 一文看懂人脸识别(4个特点+4个实现步骤+5个难点+算法发展轨迹)
- 围观各大企业如何活用人工智能,并运用实践?
- 谷歌AI乳腺癌检测超过人类?美国知名记者:让糟糕的医疗更糟罢了
- 如何评价算法的好坏?