CloudFoundry 环境上的 Java 应用开发如何指定 build pack

简介: CloudFoundry 环境上的 Java 应用开发如何指定 build pack

SAP Java buildpack 是一个 Cloud Foundry buildpack,用于运行基于 JVM 的应用程序。 buildpack 提供以下运行时:Tomcat、TomEE、TomEE 7 和 Java Main.


要使用此构建包,请在将应用程序推送到 Cloud Foundry 时指定其名称。


cf push -f <PATH_TO_APP_MANIFEST> -b sap_java_buildpack


或者指定在 manifest.yaml 文件里:

---
applications:
- name: <APP_NAME>
  buildpacks: sap_java_buildpack
  ...

或者指定在 archive 的 mtad.yaml 里:

...
modules:
  - name: <APP_NAME>
    type: java.tomcat
    path: <path_to_archive>
    properties:
      ...
    parameters:
      ...
      memory: 512M
      buildpack: sap_java_buildpack
...

版本控制

SAP BTP, Cloud Foundry 环境提供四个版本的 SAP Java Buildpack 作为其系统构建包的一部分:


sap_java_buildpack - 始终保存最新可用版本的 SAP Java Buildpack。 此版本提供了所有新功能和修复。


sap_java_buildpack_version_latest - 保存 SAP Java Buildpack 的最新可用版本; 可在有限的时间范围内(四到六周)。


sap_java_buildpack_version_previous - 此版本曾经是 Cloud Foundry 环境上次更新中的最新版本; 可在有限的时间范围内(四到六周)。


sap_java_buildpack_version_before_previous - 此版本在 Cloud Foundry 环境的两次更新之前是最新的; 可在有限的时间范围内(四到六周)。


如果您始终使用 sap_java_buildpack - 这是利用 SAP Java buildpack 中的任何新功能和修复的方法。 因此,可以保证 buildpack 始终可用。 这种情况下的缺点是可能需要的任何采用的时间有限。 在这种情况下,应用程序可以暂时回退到旧版本以避免任何停机时间。


如果您固定 buildpack 的版本 - 开发人员应该知道这个版本将存在有限的时间。 这可能会导致重新构建失败的情况,因为使用的 buildpack 版本不再可用。 为避免这种情况,建议关注 buildpack 的更新,并使用最新的 buildpack 测试应用程序,以便及时采用,以防需要采用,并定期更新版本。 在这种情况下,开发人员绝不应该允许他们的应用程序在过时的 buildpack 版本上运行。

相关文章
|
1天前
|
存储 NoSQL Java
探索Java分布式锁:在高并发环境下的同步访问实现与优化
【7月更文挑战第1天】在分布式系统中,Java分布式锁解决了多节点共享资源的同步访问问题,确保数据一致性。常见的实现包括Redis的SETNX和过期时间、ZooKeeper的临时有序节点、数据库操作及Java并发库。优化策略涉及锁超时、续期、公平性及性能。选择合适的锁策略对高并发系统的稳定性和性能至关重要。
11 0
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
基于Java的人工智能应用开发
基于Java的人工智能应用开发
|
2天前
|
存储 NoSQL Java
探索Java分布式锁:在高并发环境下的同步访问实现与优化
【6月更文挑战第30天】Java分布式锁在高并发下确保数据一致性,通过Redis的SETNX、ZooKeeper的临时节点、数据库操作等方式实现。优化策略包括锁超时重试、续期、公平性及性能提升,关键在于平衡同步与效率,适应大规模分布式系统的需求。
15 1
|
7天前
|
Java 测试技术 数据库
【单文件版本】java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境
【单文件版本】java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境
12 0
|
7天前
|
Java 测试技术 数据库
java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境【多文件版本】
java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境【多文件版本】
11 0
|
8天前
|
Java
Java中的`synchronized`关键字是一个用于并发控制的关键字,它提供了一种简单的加锁机制来确保多线程环境下的数据一致性。
【6月更文挑战第24天】Java的`synchronized`关键字确保多线程数据一致性,通过锁定代码块或方法防止并发冲突。同步方法整个方法体为临界区,同步代码块则锁定特定对象。示例展示了如何在`Counter`类中使用`synchronized`保证原子操作和可见性,同时指出过度使用可能影响性能。
19 4
|
18天前
|
Java
ElasticSearch启动报错 java version is an early-access build ,only use release builds【已解决】
ElasticSearch启动报错 java version is an early-access build ,only use release builds【已解决】
15 0
|
19天前
|
Oracle Java 关系型数据库
JAVA入门: 编程环境安装
JAVA入门: 编程环境安装
|
1天前
|
并行计算 Java 大数据
Java中的高效并行计算与多线程编程技术
Java中的高效并行计算与多线程编程技术
|
1天前
|
算法 安全 Java
Java小白教学—五千字带你了解多线程机制及线程安全问题
Java小白教学—五千字带你了解多线程机制及线程安全问题