You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/container-apps/java-overview.md
+18-7Lines changed: 18 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,27 +6,28 @@ author: craigshoemaker
6
6
ms.service: container-apps
7
7
ms.custom: devx-track-extended-java
8
8
ms.topic: conceptual
9
-
ms.date: 04/30/2024
9
+
ms.date: 07/16/2024
10
10
ms.author: cshoe
11
11
---
12
12
13
13
# Java on Azure Container Apps overview
14
14
15
-
Azure Container Apps can run any containerized Java application in the cloud while giving flexible options for how your deploy your applications.
15
+
Azure Container Apps can run any containerized Java application in the cloud while giving flexible options for how you deploy your applications.
16
16
17
17
When you use Container Apps for your containerized Java applications, you get:
18
18
19
19
-**Cost effective scaling**: When you use the [Consumption plan](plans.md#consumption), your Java apps can scale to zero. Scaling in when there's little demand for your app automatically drives costs down for your projects.
20
20
21
21
-**Deployment options**: Azure Container Apps integrates with [Buildpacks](https://buildpacks.io), which allows you to deploy directly from a Maven build, via artifact files, or with your own Dockerfile.
22
+
-**JAR deployment**: You can deploy your container app directly from a [JAR file](java-get-started.md?tabs=jar).
22
23
23
-
-**Automatic memory fitting**: Container Apps optimizes how the Java Virtual Machine (JVM) [manages memory](java-memory-fit.md), making the most possible memory available to your Java applications.
24
+
-**WAR deployment**: You can deploy your container app directly from a [WAR file](java-get-started.md?tabs=war).
24
25
25
-
-**Build environment variables**: You can configure [custom key-value pairs](java-build-environment-variables.md) to control the Java image build from source code.
26
+
-**IDE support**: You can deploy your container app directly from [IntelliJ](/azure/developer/java/toolkit-for-intellij/create-container-apps-intellij#deploy-the-container-app).
26
27
27
-
-**JAR deployment**: You can deploy your container app directly from a [JAR file](java-get-started.md?tabs=jar).
28
+
-**Automatic memory fitting**: Container Apps optimizes how the Java Virtual Machine (JVM) [manages memory](java-memory-fit.md), making the most possible memory available to your Java applications.
28
29
29
-
-**WAR deployment**: You can deploy your container app directly from a [WAR file](java-get-started.md?tabs=war).
30
+
-**Build environment variables**: You can configure [custom key-value pairs](java-build-environment-variables.md) to control the Java image build from source code.
30
31
31
32
This article details the information you need to know as you build Java applications on Azure Container Apps.
32
33
@@ -47,7 +48,7 @@ Running containerized applications usually means you need to create a Dockerfile
47
48
48
49
Different applications types are implemented either as an individual container app or as a [Container Apps job](jobs.md). Use the following table to help you decide which application type is best for your scenario.
49
50
50
-
Examples listed in this table aren't meant to be exhaustive, but to help you best understand the intent of different application types.
51
+
Examples listed in this table aren't meant to be exhaustive, but to help your best understand the intent of different application types.
51
52
52
53
| Type | Examples | Implement as... |
53
54
|--|--|--|
@@ -80,10 +81,18 @@ Keep the following items in mind as you develop your Java applications:
80
81
81
82
All the [standard observability tools](observability.md) work with your Java application. As you build your Java applications to run on Container Apps, keep in mind the following items:
82
83
84
+
-**Metrics**: Java Virtual Machine (JVM) metrics are critical for monitoring the health and performance of your Java applications. The data collected includes insights into memory usage, garbage collection, thread count of your JVM. You can check [metrics](java-metrics.md) to help ensure the health and stability of your applications.
85
+
83
86
-**Logging**: Send application and error messages to `stdout` or `stderror` so they can surface in the log stream. Avoid logging directly to the container's filesystem as is common when using popular logging services.
84
87
85
88
-**Performance monitoring configuration**: Deploy performance monitoring services as a separate container in your Container Apps environment so it can directly access your application.
86
89
90
+
## Diagnostics
91
+
92
+
Azure Container Apps offers built-in diagnostics tools exclusively for Java developers. This support streamlines the debugging and troubleshooting of Java applications running on Azure Container Apps for enhanced efficiency and eases.
93
+
94
+
-**Dynamic logger level**: Allows you to access and check different level of log details without code modifications or forcing you to restart your app. You can view [Set dynamic logger level](java-dynamic-log-level.md) for reference.
95
+
87
96
## Scaling
88
97
89
98
If you need to make sure requests from your front-end applications reach the same server, or your front-end app is split between multiple containers, make sure to enable [sticky sessions](sticky-sessions.md).
@@ -116,6 +125,8 @@ Azure Container Apps offers support for the following Spring Components as manag
116
125
117
126
-**Config Server for Spring**: Config Server provides centralized external configuration management for distributed systems. This component designed to address the challenges of [managing configuration settings across multiple microservices](java-config-server-usage.md) in a cloud-native environment.
118
127
128
+
-**Admin for Spring**: The Admin for Spring managed component provides an administrative interface is designed for Spring Boot web applications that have actuator endpoints. A managed component provides integration and management to your container app by allowing you to bind your container app to the [Admin for Spring component](java-admin.md).
0 commit comments