云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名交易_虚拟主机托管_精选特惠

小七 141 0

域名交易_虚拟主机托管_精选特惠

在这篇博文中,263云通信企业版,我将演示一个示例,说明如何在saphana之上实现一个运行在JVM上的非阻塞web服务。这篇博客文章,比如命令和设置,确实假设在Linux/Mac机器(裸机或IaaS)上运行后端。在Windows机器上,命令可能略有不同,但体验应该是类似的。这就是VR.X网站告诉你的。Vert基本上是一个开源的java库席,由Eclipse基金会管理,它允许你建立事件驱动的和非阻塞的应用程序。万一你已经熟悉节点.js,Vert.x允许您以您可能已经知道的方式构建服务节点.js. 另外,Vert.x是语言无关的,购物返利app,因此您可以用自己喜欢的基于JVM的语言实现后端,例如但不限于Java、JavaScript、Groovy、Ruby或Ceylon。

如果您想了解Vert.x的更多信息,请参考官方的Vert.x网站或GitHub上的官方eclipse/Vert.x存储库

用代码来说,用Vert.x你可以编写一个简单的HTTP服务器和一个像这样的web socket服务器(使用java8):

如果你想知道更多关于什么使一个反应式应用程序成为反应式的,你可以看看反应宣言

是你吗?再想想!根据用例的不同,使用Tomcat或JBoss等javaee容器开发基于JVM的后端服务可能是某些用例的首选解决方案,尤其是在事务处理方面。对于构建真正不关心后端事务处理的实时应用程序,使用应用程序服务器可能对您的项目来说是一种过度的杀伤力,而且远远超出您的实际需要。

节点.js是一个伟大的事件驱动,非阻塞框架以及最流行的反应式后端框架和工具包。我个人喜欢节点.js很多,只是因为JavaScript本身非常灵活npm.com网站有一个非常大的生态系统节点.js包装。此外,还有一个很棒的开源HANA驱动程序(SAP/node hdb)节点.js,所以节点.js仍然是实时应用的好选择。

但是,节点.js有一些缺陷,物联网解决方案,特别是在利用多个CPU核时。这方面也有解决办法节点.js来解决这个问题。Juanaid Anwar的这篇博客文章很好地解释了这一点:利用计算机中的多处理器环境节点.js

您可以在GitHub上找到完整的、可以运行的示例源代码:

GitHub–MitchK/hana\u vertx\u示例:演示如何将Vert.x与SAP hana结合使用的示例web服务

首先,您需要创建一个Maven项目。您也可以使用任何其他依赖关系管理器或构建工具(如Gradle),但本教程将使用Maven。

对于本示例,我们将使用以下Vert.x库和HANA JDBC驱动程序:

您确实不想在Java8下的Vert.x中进行编码。你真的不知道。因为Vert.x严重依赖回调,所以在没有lambda表达式的情况下编写Vert.x将是一件痛苦的事。

在这个例子中,我们将构建一个.jar文件来引导我们的Vert.x代码,好评返现卡,企业号应用,它将包含所有Java依赖项。竖直的部署方式有很多种,这只是一个例子。

在此,我们将参考网站:com.github.mitchk哈娜先生_顶点示例1.web.HANAVerticle网站根据官方文档,"Verticle"是一个Vert.x术语,它描述了一段可独立部署的代码。在Vert.x之外,你可以称之为"微服务"。Verticle的使用完全是可选的,但我将展示如何实现一个示例HANA Verticle.

在您选择的包中创建一个新类。确保包名和类名与放入pom.xml文件.

现在在命令行上运行

(或相应地设置IDE),以便安装Maven依赖项并创建fat.jar文件。

最后,打开:8080/在您的web浏览器中。

您还可以检查您的web套接字端点是否正在侦听ws://本地主机:8080,使用websocket客户机:

现在让我们构建一个简单的restfulweb服务,在这里我们实际上想要使用路由和JSON输出。将start()方法的内容替换为:

您还需要为/api/helloWorld端点创建处理程序方法:

再次构建代码,启动.jar文件并在浏览器中查看结果:

现在事情变得有趣了。将以下代码片段放在start()方法的开头:

为了简单起见,我们将实际使用环境变量连接到HANA。也可以改用JNDI名称。

在helloWorldHandler中,用以下代码替换方法内容:

现在,重新构建代码。在执行.jar文件之前,请确保在shell中相应地设置环境变量。

再次执行jar文件之后,您可以在浏览器中看到您的结果:

现在您刚刚在SAP HANA之上开发了第一个Vert.x后端!

Vert.x和SAP HANA配合得非常好,特别是在实时应用程序方面。如果您希望在JVM之上开发web服务,并且希望避免处理servlet容器甚至整个应用程序服务器,Vert.x可能是您的最佳选择。

如果您发现任何错误或有任何反馈,请随时给我留言。