|
| 1 | +--- |
| 2 | +title: How to turn on Java features in Azure Container Apps |
| 3 | +description: How to turn on Java features to use Java-optimized supports in Azure Container Apps |
| 4 | +services: container-apps |
| 5 | +author: hangwang |
| 6 | +ms.service: azure-container-apps |
| 7 | +ms.custom: devx-track-azurecli, devx-track-extended-java |
| 8 | +ms.topic: how-to |
| 9 | +ms.date: 09/23/2024 |
| 10 | +ms.author: hangwan |
| 11 | +zone_pivot_groups: container-apps-portal-or-cli |
| 12 | +--- |
| 13 | + |
| 14 | +# Turn on Java features in Azure Container Apps |
| 15 | + |
| 16 | +This guide provides step-by-step instructions for enabling key Java features in Azure Container Apps. By activating these features, you can optimize your Java applications for performance, monitoring, and ease of development. |
| 17 | + |
| 18 | +## Java virtual machine (JVM) metrics |
| 19 | + |
| 20 | +Java virtual machine (JVM) metrics are essential for tracking the performance and health of your Java applications. These metrics offer insights into memory consumption, garbage collection, and thread activity within the JVM. By enabling Java metrics in Azure Container Apps, you can access these detailed metrics in Azure Monitor to proactively optimize application performance and address potential issues. |
| 21 | + |
| 22 | +::: zone pivot="azure-portal" |
| 23 | +To turn on Java virtual machine (JVM) metrics in the portal, refer to [Java metrics for Java apps in Azure Container Apps](java-metrics.md?tabs=create&pivots=azure-portal#configuration). |
| 24 | + |
| 25 | +::: zone-end |
| 26 | + |
| 27 | +::: zone pivot="azure-cli" |
| 28 | +To turn on Java virtual machine (JVM) metrics on CLI, refer to [Java metrics for Java apps in Azure Container Apps](java-metrics.md?tabs=create&pivots=azure-cli#configuration). |
| 29 | + |
| 30 | +::: zone-end |
| 31 | + |
| 32 | +## Automatic memory fitting |
| 33 | +By default, the JVM manages memory conservatively, but Java automatic memory fitting fine-tunes how memory is managed for your Java application. Automatic memory fitting makes more memory available to your Java app, which may potentially boost performance by 10-20% without requiring code changes. |
| 34 | + |
| 35 | +Automatic memory fitting is **enabled by default**, but you can disable manually. |
| 36 | + |
| 37 | +::: zone pivot="azure-portal" |
| 38 | +Disabling automatic memory fitting is currently only available on CLI, please refer to [Disable memory fitting](java-memory-fit.md?tabs=create#disable-memory-fitting). |
| 39 | + |
| 40 | +::: zone-end |
| 41 | + |
| 42 | +::: zone pivot="azure-cli" |
| 43 | +To turn off automatic memory fitting on CLI, refer to [Disable memory fitting](java-memory-fit.md?tabs=create#disable-memory-fitting). |
| 44 | + |
| 45 | +::: zone-end |
| 46 | + |
| 47 | +## Diagnostics |
| 48 | +Azure Container Apps provides a built-in diagnostics tool designed specifically for Java developers, which makes debugging and troubleshooting easier and more efficient. |
| 49 | + |
| 50 | +### Dynamic logger level |
| 51 | + |
| 52 | +::: zone pivot="azure-portal" |
| 53 | +Enabling dynamic logger level is currently only available on CLI, refer to [Enable JVM diagnostics for your Java applications](java-dynamic-log-level.md?enable-jvm-diagnostics-for-your-java-applications) for details. |
| 54 | +::: zone-end |
| 55 | + |
| 56 | +::: zone pivot="azure-cli" |
| 57 | +To turn on dynamic logger level on CLI, refer to [Enable JVM diagnostics for your Java applications](java-dynamic-log-level.md?enable-jvm-diagnostics-for-your-java-applications) for details. |
| 58 | +::: zone-end |
| 59 | + |
| 60 | +## Java components |
| 61 | + |
| 62 | +Azure Container Apps supports Java components as managed services, which allows you to extend the capability of your applications without having to deploy additional code. |
| 63 | + |
| 64 | +### Eureka Server for Spring |
| 65 | + |
| 66 | +Eureka Server for Spring is a service registry that allows microservices to register themselves and discover other services. Available as an Azure Container Apps component, you can bind your container app to a Eureka Server for Spring for automatic registration with the Eureka server. |
| 67 | + |
| 68 | +::: zone pivot="azure-portal" |
| 69 | +To use Eureka Server for Spring on portal, refer to [Create the Eureka Server for Spring Java component on Portal](java-eureka-server.md?tabs=azure-portal#create-the-eureka-server-for-spring-java-component). |
| 70 | + |
| 71 | +::: zone-end |
| 72 | + |
| 73 | +::: zone pivot="azure-cli" |
| 74 | +To use Eureka Server for Spring on CLI, refer to [Create the Eureka Server for Spring Java component on CLI](java-eureka-server.md?tabs=azure-cli#create-the-eureka-server-for-spring-java-component). |
| 75 | + |
| 76 | +::: zone-end |
| 77 | + |
| 78 | +### Config Server for Spring |
| 79 | + |
| 80 | +Config Server for Spring provides a centralized location to make configuration data available to multiple applications. |
| 81 | + |
| 82 | +::: zone pivot="azure-portal" |
| 83 | +To use Config Server for Spring on portal, refer to [Create the Config Server for Spring Java component on Portal](java-config-server.md?tabs=azure-portal#create-the-config-server-for-spring-java-component). |
| 84 | + |
| 85 | +::: zone-end |
| 86 | + |
| 87 | +::: zone pivot="azure-cli" |
| 88 | +To use Config Server for Spring on CLI, refer to [Create the Config Server for Spring Java component on CLI](java-config-server.md?tabs=azure-cli#create-the-config-server-for-spring-java-component). |
| 89 | + |
| 90 | +::: zone-end |
| 91 | + |
| 92 | +### Admin for Spring |
| 93 | +The Admin for Spring managed component offers an administrative interface for Spring Boot web applications that expose actuator endpoints. |
| 94 | + |
| 95 | +::: zone pivot="azure-portal" |
| 96 | +To use Admin for Spring on portal, refer to [Use the component on Portal](java-admin.md?tabs=azure-portal). |
| 97 | + |
| 98 | +::: zone-end |
| 99 | + |
| 100 | +::: zone pivot="azure-cli" |
| 101 | +To use Admin for Spring on CLI, refer to [Use the component on CLI](java-admin.md?tabs=azure-cli). |
| 102 | + |
| 103 | +::: zone-end |
| 104 | + |
| 105 | +> [!TIP] |
| 106 | +> With Eureka Server for Spring, you can bind Admin for Spring to Eureka Server for Spring, so that it can get application information through Eureka, instead of having to bind individual applications to Admin for Spring. For more information, see [Integrate Admin for Spring with Eureka Server for Spring in Azure Container Apps](java-admin-eureka-integration.md). |
| 107 | +
|
| 108 | + |
| 109 | +## Next steps |
| 110 | + |
| 111 | +> [!div class="nextstepaction"] |
| 112 | +> [Launch your first Java app](java-get-started.md) |
0 commit comments