微服务 WildFly Swarm 入门<十四>

原创
2018/06/20 18:56
阅读数 163

Hello World

就像前面章节中的其他框架一样,我们希望添加一些基本的 Hello-world 功能,然后在其上逐步添加更多的功能。让我们从在我们的项目中创建一个 HolaResources 开始。您可以使用您的IDE来完成这一任务,也可以随心所欲;但是同样,我们可以利用 JBossForge 来完成这里的任何繁重任务。

导航到项目所在的目录,如果项目尚未运行,则启动:

Add the HTTP Endpoints

现在,让我们使用REST-New-endpoint 命令和交互式向导创建一个新的JAX-RS端点,并使用以下示例作为指导来填充提示:

就这样,Formatt已经为我们创建了./src/main/java/com/redhat/examples/ wfswarm/rest/HolaResource.java JAX-RS 资源,它看起来与如下所示类似:

让我们找到项目的根源,构建它,然后尝试再次启动它:

 

在Web浏览器中导航到http:/localhost:8080/api/hola(如果在此端点没有正确显示端点,请返回并检查前面的步骤):

我们刚刚做了什么?我们使用带有JBossForge工具的本机JavaEE构建了一个JAX-RS Web应用程序,然后在WildFly集群中将其作为微服务运行!

Externalize Configuration

在撰写本文时,WildFly Swarm 没有一种与操作无关的配置方式,人们可以选择使用良好的配置,如Apache Commons Configuration或Apache DeltaSpike Configuration。请随意注意这个JIRA线程,以获得更多信息。在本节中,我们将快速添加 Apache DeltaSpike 配置,以满足我们的配置需求。

Apache DeltaSpike 是一组 CDI 扩展,可用于简化配置、数据访问和安全性。看看 DeltaSpike 文档。我们将使用 CDI 扩展,它允许我们轻松地注入可以从属性文件、命令行、JNDI和环境变量中获得的配置属性。为了利用cdi、jax-rs和deltas-pike,让我们添加对jaxrs-cdi WildFly Swarm 依赖,以集成 CDI 和JAX-RS:

我们还希望添加对DeltaSpike库的依赖:

我们还可以创建一个名为meta-INF/Apachedeltaspike.properties 的新文件来存储我们的特定于应用程序的属性。在本例中,我们将尝试从 O S环境变量中获取特定于环境的属性,就像我们在其他框架中所做的那样,然后默认为可能不存在的值。编辑 HolaResource 类以添加@ConfigProperty注释:

通过这个简单的注释,我们能够快速地从 META-INF/apache-deltaspike.properties 文件、命令行、环境变量或 JNDI 中注入适当的联系。如果没有设置环境变量,我们将默认为“Hola”。查Apache DeltaSpike文档,了解更多分组或自定义功能的方法。

现在,我们可以使用java-jar target/hola-wildflyswarm-swar.jar 或使用 mvn clean install wildfly- swarm:run 来运行我们的服务。我们应该会看到默认的响应“Hola from WF Swarm”,如果我们设置环境变量WF_SHOST_SALY,那么我们应该能够修改这个说法。

 

原文:

作者源码:https://github.com/redhat-developer/microservices-by-example-source

有什么讨论的内容,可以加我微信公众号:

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部