Java Dev Center

Java Developer’s Center

The Java Developer’s Center introduces Java hosting on the platform, including supported Java distributions, application servers, environment creation, application deployment, domain management, scaling, clustering, and database connectivity.

Java Developer's Center illustration
Java application hosting and management on the platform.

Java Versions

The platform provides multiple Java distributions and major releases. Available versions can change as new releases are added and older versions reach end of life.

Amazon CorrettoAmazon-maintained OpenJDK distribution.
Eclipse TemurinOpenJDK builds maintained through Eclipse Adoptium.
Oracle OpenJDKOpen-source Java builds from the OpenJDK project.
Zulu CommunityAzul-maintained OpenJDK builds.
i

Check current availability

Review the Software Stack Versions page before creating a production environment. Existing instances can remain operational even when an older Java release is no longer offered for new environments.

Java Application Servers

The platform supports a pure Java Engine and several managed Java application-server stacks.

StackPurpose
Java EngineRuns Java applications without a traditional full application server.
GlassFishJakarta EE application server with clustering capabilities.
JettyLightweight Java HTTP server and servlet container.
PayaraEnterprise-focused Jakarta EE server derived from GlassFish.
Spring BootRuns self-contained Spring Boot applications.
TomcatPopular servlet container for Java web applications.
TomEETomcat with additional enterprise Java functionality.
WildFlyEnterprise Java application server with clustering support.

Java Environment Creation

1

Open the topology wizard

Click New Environment and select the Java language tab.

2

Select the topology

Choose the application server, database, load balancer, Maven build node, cache, storage, and any other required services.

3

Configure resources

Set the Java distribution, software version, Cloudlet limits, disk space, scaling mode, region, and environment name, then click Create.

Create a Java environment
Select the Java stack, resource limits, scaling options, and environment settings.

Isolated containers

Each server runs inside an isolated container. Attach a public IP for direct external access, or use the Shared Load Balancer with the default configuration.

Java Application Deployment

Java applications can be deployed from supported archives or from a Git/SVN repository through a Maven build node.

ArchivesDeploy .war, .zip, .jar, and .ear packages.
Git / SVNBuild and deploy source code through the Maven build node.
Auto-deployCheck the repository periodically and deploy new revisions automatically.
Deployment hooksRun custom commands before or after deployment.
Deploy a Java application
Configure the repository, branch, context, build directory, hooks, and deployment strategy.

Domains Management

  • CNAME: Use with the Shared Load Balancer, especially for development and testing.
  • DNS A record: Point a custom domain to a public IP for direct production access.
  • Swap Domains: Move domains between environments to support upgrades and zero-downtime workflows.
  • Multiple domains: Configure several domains and application contexts inside one Java environment.
Manage Java application domains
Bind a custom domain or swap domains between environments.

Automatic Vertical Scaling

Set the maximum Cloudlet limit and the platform dynamically allocates RAM and CPU according to actual application demand. This avoids reserving the full maximum capacity when it is not being used.

Automatic vertical scaling
Pay for consumed resources rather than the complete configured limit.
Configure Java vertical scaling
Use the resource slider to set the reserved and maximum Cloudlet limits.

Horizontal Scaling: Manual and Automatic

Horizontal scaling adds application-server nodes when one container cannot handle the workload. New nodes can be placed on different hardware hosts for improved availability.

StatelessCreates new nodes from the base image template simultaneously.
StatefulCopies the primary container file system to new nodes sequentially.
Manual scalingUse the plus and minus buttons to change the node count.
Automatic scalingAdd or remove nodes through resource-based monitoring triggers.
Java horizontal scaling
Set the node count and select Stateless or Stateful scaling.

Automatic triggers can monitor CPU, memory, network, disk I/O, and disk IOPS. When resource use remains above or below the configured threshold for the specified period, the platform changes the node count.

Java automatic horizontal scaling
Configure resource thresholds, monitoring periods, node limits, and notifications.

Java Clusterization

Clustering improves availability by running the application on multiple nodes and replicating sessions where supported.

Tomcat and TomEESupport automated session replication for high-availability Java applications.
GlassFish and PayaraSupport automated clustering through the platform’s auto-clustering tools.
WildFlySupports automatic micro-clustering and scaling.
Enable Java high availability
Enable high availability for supported Java application servers.
Java auto-clustering topology
Auto-clustering coordinates application-server nodes and supporting services.

Database Connection to Java Application

Managed database servers can be added to the Java environment and connected through standard Java database mechanisms.

MySQL / MariaDBConnect through JDBC, a connection pool, JNDI, Hibernate, or framework configuration.
PostgreSQLUse the PostgreSQL JDBC driver and the database node’s internal connection information.
Private networkingPrefer internal addresses when the application and database run on the same platform.

Expected Result

A complete Java environment is created with the required Java distribution, application server, database, deployment method, domain, resource limits, scaling policy, and high-availability configuration.

Important Notes

  • Check current Java and application-server availability before creating a new environment.
  • Use private addresses for internal application-to-database connections whenever possible.
  • Review file and session storage before horizontal scaling.
  • Set scaling thresholds according to measured application behaviour.
  • Enable clustering only when the application supports the chosen session and data model.
  • Attach a public IP only when direct external access is required.

Common Issues and Solutions

Java version unavailableCheck Software Stack Versions and select a supported distribution or maintain the existing older environment.
Archive deployment failsCheck the package format, application context, Java compatibility, server type, and deployment logs.
Maven build failsReview repository credentials, branch, working directory, dependencies, Maven settings, and build logs.
Domain does not resolveVerify DNS records, propagation, application context, SSL configuration, and the selected entry point.
Files missing on new nodesUse Stateful scaling, shared storage, or a deployment process that keeps application data consistent.
Sessions are lostEnable supported clustering or use shared external session storage.