Running Payara Micro on Oracle Application Container Cloud: Common Issues

Snippet of programming code in IDE
Published on

Running Payara Micro on Oracle Application Container Cloud: Common Issues

Setting up and deploying a Java application on Oracle Application Container Cloud can be a seamless process; however, when running Payara Micro on this platform, certain issues may arise. In this post, we will explore some common problems developers face when running Payara Micro on Oracle Application Container Cloud, along with their solutions.

Issue 1: Application Startup Failure

When deploying Payara Micro on Oracle ACC, you may encounter an issue where the application fails to start up properly. This can occur due to a misconfiguration in the application deployment descriptors or a mismatch between the Java version required by Payara Micro and the default Java version provided by Oracle ACC.

To resolve this issue, ensure that the correct Java version is configured for the application by specifying the Java version in the runtime element of the app.yaml file like this:

runtime: java
runtimeVersion: 11

Issue 2: ClassNotFoundException for Application Dependencies

Another common issue is encountering ClassNotFoundException errors for application dependencies. This occurs when the necessary libraries and dependencies are not packaged along with the application during deployment.

To fix this, make sure to package all the required dependencies and libraries within the application's WAR file or create a self-contained uber JAR using tools like Maven Shade Plugin. This ensures that all the dependencies are included within the deployment package and are available for the application during runtime.

Issue 3: Accessing Environment Variables

When running Payara Micro on Oracle ACC, you may need to access environment variables provided by the platform, such as database connection details or API keys. However, accessing these environment variables can be tricky if not done correctly.

To access the environment variables in Payara Micro, you can use the following code snippet:

String dbUrl = System.getenv("DB_URL");
String dbUsername = System.getenv("DB_USERNAME");
String dbPassword = System.getenv("DB_PASSWORD");

By using System.getenv() method, you can retrieve the values of the environment variables and use them within your Payara Micro application.

Issue 4: Configuring Custom Domain and SSL

Integrating custom domains and configuring SSL for applications running on Oracle ACC can be a complex task, especially when running Payara Micro.

To set up a custom domain and SSL for your Payara Micro application on Oracle ACC, you can follow these steps:

  1. Obtain an SSL certificate for your custom domain from a trusted certificate authority.
  2. Configure the custom domain in the Oracle ACC console and provide the SSL certificate details.
  3. Update the Payara Micro configuration to use the custom domain and SSL certificate for secure communication.

A Final Look

Running Payara Micro on Oracle Application Container Cloud offers a scalable and reliable platform for hosting Java applications. However, certain issues such as startup failures, dependencies, environment variables, and SSL configuration may arise during deployment. By following the solutions outlined in this post, you can effectively address these common issues and ensure a smooth and successful deployment of your Payara Micro application on Oracle ACC.

For further insights on deploying Java applications, you can explore Oracle's official documentation for Application Container Cloud. Additionally, the Payara Micro documentation provides valuable information on deploying applications to various cloud platforms.