博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle推出轻量级Java微服务框架Helidon
阅读量:6330 次
发布时间:2019-06-22

本文共 2141 字,大约阅读时间需要 7 分钟。

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

\\

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

\\

Web服务器

\\

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

\\

下面的示例代码演示了如何启动一个简单的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();\    }\
\\

配置

\\

配置组件加载和处理键/值格式的配置属性。在默认情况下,配置属性将从定义好的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();\    }\
\\

安全

\\

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

\\

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

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

转载地址:http://vcboa.baihongyu.com/

你可能感兴趣的文章
每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)(转)
查看>>
vector
查看>>
分布式设计与开发(二)------几种必须了解的分布式算法
查看>>
两款 REST 测试工具
查看>>
灰色图片
查看>>
指针和引用区别?
查看>>
看过年人流高峰,浅聊并发之战[架构篇]
查看>>
Linux入门-7 Linux管道、重定向以及文本处理
查看>>
洗礼灵魂,修炼python(85)-- 知识拾遗篇 —— 深度剖析让人幽怨的编码
查看>>
梯度下降法的三种形式-BGD、SGD、MBGD
查看>>
算法模板——线性筛素数
查看>>
Missing Data in Kernel PCA
查看>>
自己封装的一个java图片验证码
查看>>
在非hadoop集群上运行hadoop命令
查看>>
HDU 6438 网络赛 Buy and Resell(贪心 + 优先队列)题解
查看>>
生成8位字符串,可用于生成帖子ID的算法
查看>>
vue-devtools的安装与使用
查看>>
apache与jetty整合,用mod_proxy
查看>>
堆和栈的区别(转过无数次的文章)
查看>>
c#学习笔记03——委托和事件
查看>>