GermainUX Engine Does Not Start
A GermainUX Engine may fail to start when it cannot connect to Germain Enterprise or when Java is missing or incorrectly configured.
🔍 Start by reviewing:
ENGINE_HOME/logs/EngineManager.log
Some older distributions use:
ENGINE_HOME/log/EngineManager.log
🌐 1. Verify Germain Enterprise availability
Confirm that Germain Enterprise is running and accessible from another system.
Typical URLs include:
http://<germain-host>:8080/germainapm/
https://<germain-host>/germainapm/
Use the exact protocol, hostname, port, and context path configured for your environment.
💻 2. Test connectivity from the Engine host
The Engine host must be able to resolve and reach Germain Enterprise.
Typical ports include:
|
Connection |
Port |
|---|---|
|
HTTP |
|
|
HTTPS |
Usually |
|
ActiveMQ—legacy deployments only |
|
ActiveMQ applies only to GermainUX releases earlier than . For current releases, use the Kafka or transport requirements supplied with the applicable Engine distribution.
🖥️ Windows PowerShell
Test-NetConnection <germain-host> -Port 8080
Example:
Test-NetConnection germain.example.com -Port 8080
🐧 Linux
nc -vz <germain-host> 8080
You can also test the HTTP endpoint:
curl -I http://<germain-host>:8080/germainapm/
If the test fails, verify:
|
Check |
|---|
|
DNS resolution |
|
Firewall rules |
|
Proxy requirements |
|
Germain Enterprise port |
|
Reverse-proxy or load-balancer configuration |
|
Network routing |
|
TLS certificate trust |
🔗 3. Verify the configured Enterprise URL
Open:
ENGINE_HOME/config/germain-bootstrap.properties
Confirm that the Germain Enterprise URL is correct:
germain.bootstrap.configService=<germain-enterprise-url>
Example:
germain.bootstrap.configService=https://germain.example.com
Check for:
|
Issue |
|---|
|
Incorrect protocol |
|
Misspelled hostname |
|
Incorrect port |
|
Missing or incorrect context path |
|
URL that is inaccessible from the Engine host |
|
References to a retired server or environment |
☕ 4. Verify Java
Use the Java version approved for your GermainUX release. Engine documentation supports Java 11 or later, but release-specific requirements take precedence.
Run:
java -version
Confirm that:
|
Check |
|---|
|
Java is installed. |
|
The command completes successfully. |
|
The expected Java version appears. |
|
The architecture is appropriate for the operating system. |
|
The service uses the same Java installation as the terminal. |
If the wrong version appears, review the host’s PATH and remove or deprioritize obsolete Java installations.
⚙️ 5. Verify JAVA_HOME
⌨️ Windows Command Prompt
echo %JAVA_HOME%
🧾 Windows PowerShell
echo $env:JAVA_HOME
💻 Linux
echo $JAVA_HOME
Confirm that the path exists and contains the Java executable:
Windows: %JAVA_HOME%\bin\java.exe
Linux: $JAVA_HOME/bin/java
Test the configured executable directly.
Windows:
"%JAVA_HOME%\bin\java.exe" -version
Linux:
"$JAVA_HOME/bin/java" -version
When the Engine runs as an operating-system service, confirm that the service definition references the correct Java path. Updating the interactive user’s JAVA_HOME may not update the service environment.
🛡️ 6. Verify proxy settings
If the Engine connects through a proxy, confirm that the proxy is configured for the Engine Manager.
Check:
|
Setting |
|---|
|
Proxy hostname and port |
|
HTTP versus HTTPS settings |
|
Proxy authentication |
|
Proxy bypass rules |
|
TLS inspection certificates |
|
Java truststore |
A proxy configured for an individual Engine does not automatically configure the Engine Manager. The two run in separate JVMs unless Relay Proxy Settings is enabled.
🔑 7. Verify node authorization
A new Engine Manager may start but remain unable to load its configuration until authorized.
In the GermainUX Workspace:
-
Open Germain > State.
-
Select Nodes.
-
Find the affected Engine Manager.
-
Check the Sessions column.
-
Select the lock if authorization is pending.
-
Confirm the authorization.
The log should report successful authorization and continue loading the Engine configuration.
▶️ 8. Verify the Engine is enabled
In Germain > State:
-
Open the Engines view.
-
Find the affected Engine.
-
Confirm that it is enabled.
-
Restart it if required.
-
Monitor its status and logs.
An Engine can be installed correctly but remain stopped because it is disabled centrally.
🛠️ 9. Check JVM settings and permissions
If the Engine still does not start, check for:
|
Problem |
|---|
|
Invalid or unsupported JVM options |
|
|
|
Duplicate memory settings |
|
Incorrect Engine name |
|
Missing files or libraries |
|
Missing JDBC drivers |
|
Service-account permission failures |
|
Insufficient disk space |
|
Corrupted local state store |
If the failure began after a JVM or configuration change, restore the last working settings and restart the Engine.
✅ Validate the resolution
After applying the fix, confirm that:
|
Validation |
|---|
|
The Engine Manager process or service is running. |
|
It connects to Germain Enterprise. |
|
The node is authorized. |
|
Its heartbeat appears in Germain > State. |
|
The expected Engines are listed and enabled. |
|
Monitoring components start. |
|
New telemetry reaches GermainUX. |
|
No repeated startup errors appear in the logs. |
ℹ️ Information to collect for Support
If the Engine still does not start, provide:
|
Item |
|---|
|
GermainUX and Engine versions |
|
Operating system |
|
Java version |
|
|
|
Germain Enterprise URL |
|
Connectivity-test results |
|
Engine Manager and Engine logs |
|
JVM options |
|
Proxy details with credentials removed |
|
Engine and node names |
|
Recent configuration or infrastructure changes |
Remove passwords, tokens, private keys, and session files before sharing logs or configuration.
Service: Engine
Feature Availability: