2018-10-03 · Develop

Helidon 尝鲜

甲骨文在9月推出 Helidon 的第一个版本,这是一个用于编写微服务的 Java 开源库,并且正式加入了 Eclipse MicroProfile。
Helidon 是一个开源的 Java 微服务框架,旨在运行在快速的 Netty 内核上。它支持 MicroProfile 1.1 并提供了开发者熟悉的 API,例如 JAX-RS, CDI 和 JSON-P/B。

甲骨文最初发布 Helidon 旨在支持两种编程模型:

helidon-01

helidon-02

本文只是记录下新的技术,并未深入研究。只是运行了 官网 的示例代码。如果你需要深入的学习请查看 官方文档

Helidon SE Example:

mvn archetype:generate -DinteractiveMode=false \
    -DarchetypeGroupId=io.helidon.archetypes \
    -DarchetypeArtifactId=helidon-quickstart-se \
    -DarchetypeVersion=0.10.0 \
    -DgroupId=io.helidon.examples \
    -DartifactId=quickstart-se \
    -Dpackage=io.helidon.examples.quickstart.se

Helidon MP Example:

mvn archetype:generate -DinteractiveMode=false \
    -DarchetypeGroupId=io.helidon.archetypes \
    -DarchetypeArtifactId=helidon-quickstart-mp \
    -DarchetypeVersion=0.10.0 \
    -DgroupId=io.helidon.examples \
    -DartifactId=quickstart-mp \
    -Dpackage=io.helidon.examples.quickstart.mp

如果你发现下载不下来,那是应为 maven 服务器在国外,因为配置文件 archetype-catalog.xml 无法下载造成阻塞。
你可以增加参数 -DarchetypeCatalog=local 在本地读取这个文件。

运行项目,以 Helidon SE 为例, MP 是一样的方式:

cd quickstart-?

mvn clean package

java -jar target/quickstart-?.jar

验证:

curl -X GET http://localhost:8080/greet
{"message":"Hello World!"}

curl -X GET http://localhost:8080/greet/Joe
{"message":"Hello Joe!"}

curl -X PUT http://localhost:8080/greet/greeting/Hola
{"greeting":"Hola"}

curl -X GET http://localhost:8080/greet/Jose
{"message":"Hola Jose!"}

参考文档:

解决maven生成项目时卡死
甲骨文最新推出的 Java 微服务框架 Helidon:轻量简单
Project Helidon