在Predix上运行Scala的HelloWorld

2023-10-12 22:20
文章标签 运行 scala helloworld predix

本文主要是介绍在Predix上运行Scala的HelloWorld,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在Predix上运行Scala的HelloWorld

Scala语言的名称来自于“可伸展的语言”,Scala 是一种函数对象混合的语言。它可以运行在Java平台上,Scala程序会被编译为JVM的字节码。它们的执行期性能通常与Java程序一致。Scala代码可以调用Java方法,访问Java字段,继承自Java类和实现Java接口。
Scala是一种把面向对象和函数式编程理念加入到静态类型语言中的混血儿。Scala的许多不同的方面都展现了面向对象和函数式编程的熔合。在可伸展性方面,这两种编程风格具有互补的力量。Scala的函数式编程使得它便于快速地从简单的碎片开始建立一些有趣的东西。它的面向对象特性又使它便于构造大型系统并使它们适应于新的需求。Scala中这两种风格的组合使得它有可能表达新的编程模式和控件抽象。并产生了易读、简洁的编程风格。由于它良好的延展性,用Scala编程将会有很多的乐趣。

下面将介绍如果把一个Scala的HelloWorld程序部署运行在Predix平台上.

首先准备好一个Scala应用, 可以参考下面这个模板使用git clone复制到本地:

$ git clone https://github.com/noru/predix-scala-helloworld.git

注意, 上面的模板代码中的manifest.yml指定了Scala在Predix上使用的buildpack为:

https://github.com/heroku/heroku-buildpack-scala.git

这是一个第三方提供的buildpack, 使用中需要遵循一些规定. 比如, 它会默认执行sbt compile stage来打包, 请保证自己应用的build.sbt包含这个任务. 或者像示例代码中, 使用sbt-native-packager(https://github.com/sbt/sbt-native-packager)来自动包含一个stage任务, 同时在打包结果中也会自动包含一个启动脚本, 一般在target/universal/stage/bin/文件夹下面, 与应用程序同名. 这个脚本就可以作为启动命令, 放在manifest.yml或者Procfile文件中:

  // in manifest.yml- comment: target/universal/stage/bin/hello-scala// or in Procfileweb: target/universal/stage/bin/hello-scala

另外一种发布方式是, 利用Scala与Java的无缝连接, 直接使用java buildpack. 这种方式需要提前打包好你的应用程序. 本文里不再详述.

推送hello-scala应用到Predix上

和推送其他应用一样,我们用cf push就可以完成应用的推送. 由于模板中已经有了manifest.yml, 所以不必指定任何参数.

$ cd hello-scala
$ cf push

查看hello-scala应用

当部署完成hello-scala应用后,我们就可以从cf push命令的输出中获取该应用的URL。如下面注释标出的地方:


... 其他命令行输出 ...requested state: started
instances: 1/1
usage: 512M x 1 instances
urls: hello-scala.run.aws-jp01-pr.ice.predix.io // <-- 访问APP的url
last uploaded: Sun Jul 2 05:25:14 UTC 2017
stack: cflinuxfs2
buildpack: https://github.com/heroku/heroku-buildpack-scala.gitstate     since                    cpu    memory           disk             details
#0   running   2017-07-02 01:26:24 PM   0.0%   281.7M of 512M   164.3M of 350M

在浏览器中键入这个地址, 就能够看到我们Scala程序的输出了:

hello-scala

小结

Scala运行于JVM, 并兼容现有的Java程序, 甚至还有.NET平台的实现. 得益于此, Scala程序可以方便的部署运行在各种环境中, 在Predix中也不例外, 只需要指定一个合适的buildpack. 喜欢面向对象与函数式变成相结合的独特魅力的开发人员, 可以在Predix平台上轻松开始工业互联网应用的开发.

这篇关于在Predix上运行Scala的HelloWorld的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/198834

相关文章

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

如何在运行时修改serialVersionUID

优质博文:IT-BLOG-CN 问题 我正在使用第三方库连接到外部系统,一切运行正常,但突然出现序列化错误 java.io.InvalidClassException: com.essbase.api.base.EssException; local class incompatible: stream classdesc serialVersionUID = 90314637791991

win7+ii7+tomcat7运行javaWeb开发的程序

转载请注明出处:陈科肇 1.前提准备: 操作系统:windows 7 旗舰版   x64 JDK:jdk1.7.0_79_x64(安装目录:D:\JAVA\jdk1.7.0_79_x64) tomcat:32-bit64-bit Windows Service Installer(安装目录:D:\0tomcat7SerV) tomcat-connectors:tomcat-connect

php 7之PhpStorm + Nginx + Xdebug运行调试

操作环境: windows PHP 7.1.10 PhpStorm-2017.2.4 Xdebug 2.5.4 Xdebug helper 1.6.1 nginx-1.12.2 注意查看端口占用情况 netstat -ano //查看所以端口netstat -aon|findstr "80" //查看指定端口占用情况 比如80端口查询情况 TCP 0.0.0.0:8

[轻笔记] ubuntu Shell脚本实现监视指定进程的运行状态,并能在程序崩溃后重启动该程序

根据网上博客实现,发现只能监测进程离线,然后对其进行重启;然而,脚本无法打印程序正常状态的信息。自己通过不断修改测试,发现问题主要在重启程序的命令上(需要让重启的程序在后台运行,不然会影响监视脚本进程,使其无法正常工作)。具体程序如下: #!/bin/bashwhile [ 1 ] ; dosleep 3if [ $(ps -ef|grep exe_name|grep -v grep|

Python简单入门教程helloworld

Python 学习资源 推荐书籍: Python核心编程(第二版) (强烈推荐,建议有一定基础的看,或者看完简明Python教程再看) Python 基础教程 第二版 (入门,没有核心编程好,但也不错) 编写高质量代码:改善Python程序的91个建议 (进阶,有一定基础再看) 书籍下载: Python 教程(部分内容来源于网络, 历时一年多总结整理的,给刚刚入门的

stl的sort和手写快排的运行效率哪个比较高?

STL的sort必然要比你自己写的快排要快,因为你自己手写一个这么复杂的sort,那就太闲了。STL的sort是尽量让复杂度维持在O(N log N)的,因此就有了各种的Hybrid sort algorithm。 题主你提到的先quicksort到一定深度之后就转为heapsort,这种是introsort。 每种STL实现使用的算法各有不同,GNU Standard C++ Lib

Docker进入容器并运行命令

在讨论如何使用Docker进入容器并运行命令时,我们需要先理解Docker的基本概念以及容器的工作原理。Docker是一个开放平台,用于开发、交付和运行应用程序。它使用容器来打包、分发和运行应用程序,这些容器是轻量级的、可移植的、自包含的,能够在几乎任何地方以相同的方式运行。 进入Docker容器的几种方式 1. 使用docker exec命令 docker exec命令是最常用的进入正在运

运行.bat文件,如何在Dos窗口里面得到该文件的路径

把java代码打包成.jar文件,编写一个.bat文件,执行该文件,编译.jar包;(.bat,.jar放在同一个文件夹下) 运行.bat文件,如何在Dos窗口里面得到该文件的路径,并运行.jar文件: echo 当前盘符:%~d0 echo 当前路径:%cd% echo 当前执行命令行:%0 echo 当前bat文件路径:%~dp0 echo 当前bat文件短路径:%~sdp0 nc