0
点赞
收藏
分享

微信扫一扫

CloudFoundry 环境上的 Java 应用的 Application container

两岁时就很帅 2022-03-20 阅读 49
云原生

SAP Business Technology Platform CloudFoundry 环境的 Java 应用支持下列 4 种 Application container:

  • Tomcat

  • TomEE

  • TomEE 7

  • Java Main

Tomcat

默认情况下,使用 SAP Java buildpack 推送的 Web 应用程序在 Apache Tomcat 容器中运行。

应用程序可以使用应用程序 manifest.yml 文件中的 TARGET_RUNTIME 环境变量显式定义目标应用程序容器。

---
applications:
- name: <APP_NAME>
  ...
  env:
    TARGET_RUNTIME: tomcat

tomcat 应用运行时容器提供以下标准 API:

  • Java Servlets 3.1

  • Java ServerPages (JSP) 2.3

  • Expression Language (EL) 3.0

  • Debugging Support for Other Languages 1.0

  • Java API for WebSocket 1.1

Customizing the SAP Java Buildpack Defaults

SAP Java Buildpack 为 Tomcat 应用程序容器提供了一些默认配置,这些配置可以由应用程序使用资源配置功能进行自定义。

以下是应用程序可以自定义的所有占位符及其默认值的列表:

[图片]

配置 HTTP header size 的例子:

env:
  JBP_CONFIG_RESOURCE_CONFIGURATION: "['tomcat/conf/server.xml': {'connector.maxHttpHeaderSize':1024}]"

配置最大线程数的例子:

env:
  JBP_CONFIG_RESOURCE_CONFIGURATION: "['tomcat/conf/server.xml': {'connector.maxThreads':800}]"

开启 HTTP trace 的例子:

env:
  JBP_CONFIG_RESOURCE_CONFIGURATION: "['tomcat/conf/server.xml': {'connector.allowTrace':true}]"

TomEE

默认情况下,使用 SAP Java buildpack 推送的 Web 应用程序在 Apache Tomcat 容器中运行。

通过使用应用程序 manifest.yml 文件中的 TARGET_RUNTIME 环境变量,应用程序可以显式定义目标应用程序容器 - Apache TomEE。

---
applications:
- name: <APP_NAME>
  ...
  env:
    TARGET_RUNTIME: tomee

Java Options

可以通过定义 JBP_CONFIG_JAVA_OPTS 环境变量来配置 Java 属性。

在应用程序的 manifest.yml 文件中定义 JBP_CONFIG_JAVA_OPTS 环境变量。

---
applications:
- name: <app-name>
  memory: 512M
...
  env:
     JBP_CONFIG_JAVA_OPTS: 'java_opts: ''-DtestJBPConfig=^%PATH^% -DtestJBPConfig1="test test" -DtestJBPConfig2="%PATH%"'''

使用 Cloud Foundry 命令行界面 (cf CLI) 的 cf set-env 命令定义 JBP_CONFIG_JAVA_OPTS 环境变量。

Java Out Of Memory Behavior

当 JVM 遇到终端故障时,SAP Java Buildpack 将堆的直方图打印到日志中。 除此之外,如果应用程序绑定到名称或标签包含 heap-dump 的卷服务,也会生成一个堆转储文件并将其存储在挂载的卷中。

举报

相关推荐

0 条评论