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
The Java Version used is hardcoded in this file for systemd: https://github.com/ansible-middleware/amq/blob/main/roles/activemq/templates/amq_broker.sysconfig.j2, /etc/sysconfig/amq-broker. That means that if you update the packages in between without changing this file, (and it includes a java update) you are no longer able to start using systemd. We have different persons responsible for updating systems and running the application. So the infrastructure team can update the packages without the AMQ team knowing. This will leas to a situation where the broker cannot start with systemd. Therefore I believe this strict coupling in this file with the Java version is not desired.
Someone performs a dnf update to update java, not running the playbook again, the JAVA HOME dir is changed now
4 systemctl start amq-broker.service no longer works since it points to an old java version in JAVA_HOME
EXPECTED RESULTS
I expect the broker to continue to work with systemd after a java minor update
ACTUAL RESULTS
Systemctl did not start did not give any other logging then cannot start. It was still possible to start artemis-service
The text was updated successfully, but these errors were encountered:
The AMQ application as installed with this playbook also start correctly with systemd if JAVA_HOME is not defined in the sysconfig file but the java location from the PATH variable is used. So I removed JAVA_HOME from /etc/sysconfig/amq-broker and it still starts.
Hello; we would like to retain the functionality of enforcing the version of JRE used by the service, since multiple families of jre can exist at the same time (controlled by alternatives --config or other means). Ie. it could happen that an update to jdk17 is executed but the service runs on jdk11.
That said, you can achieve what you are asking by leveraging the system alternatives facility: set activemq_java_home: /etc/alternatives/jre (or also fixing the major version activemq_java_home: /etc/alternatives/jre-XX, or even activemq_java_home: /usr/lib/jvm/jre-XX when other java software runs on the same system on a different jdk).
Setting activemq_java_home disables the part of the role that determines java_home, delegating that to the user.
However, the minor.patch version ending up in the java_home path in the systemd environment template is a bug, and it will be addressed.
SUMMARY
The Java Version used is hardcoded in this file for systemd: https://github.com/ansible-middleware/amq/blob/main/roles/activemq/templates/amq_broker.sysconfig.j2, /etc/sysconfig/amq-broker. That means that if you update the packages in between without changing this file, (and it includes a java update) you are no longer able to start using systemd. We have different persons responsible for updating systems and running the application. So the infrastructure team can update the packages without the AMQ team knowing. This will leas to a situation where the broker cannot start with systemd. Therefore I believe this strict coupling in this file with the Java version is not desired.
ISSUE TYPE
ANSIBLE VERSION
COLLECTION VERSION
STEPS TO REPRODUCE
4
systemctl start amq-broker.service
no longer works since it points to an old java version in JAVA_HOMEEXPECTED RESULTS
I expect the broker to continue to work with systemd after a java minor update
ACTUAL RESULTS
Systemctl did not start did not give any other logging then cannot start. It was still possible to start
artemis-service
The text was updated successfully, but these errors were encountered: