简体   繁体   中英

ActiveMQ doesn't stop with an ansible role

I have a ansible role for stop an ActiveMQ server on CentOS machine

- name: " Arrêt ActiveMQ"
  shell: "./activemq stop"
  args:
    chdir: "/var/opt/application/activemq/activemq-recette/apache-activemq-5.15.9/bin/"
  environment:
    PATH: "{{ java_path }}:{{ ansible_env.PATH }}"

My role return failed result with this stack

changed: [192.168.108.178] => (item={'name': 'recette', 'jms_port': 61616, 'jetty_port': 8161}) => {
    "ansible_loop_var": "item",
    "changed": true,
    "cmd": "./activemq stop",
    "delta": "0:00:31.553673",
    "end": "2023-01-27 09:21:32.946426",
    "invocation": {
        "module_args": {
            "_raw_params": "./activemq stop",
            "_uses_shell": true,
            "argv": null,
            "chdir": "/var/opt/application/activemq/activemq-recette/apache-activemq-5.15.9/bin/",
            "creates": null,
            "executable": null,
            "removes": null,
            "stdin": null,
            "stdin_add_newline": true,
            "strip_empty_ends": true,
            "warn": false
        }
    },
    "item": {
        "jetty_port": 8161,
        "jms_port": 61616,
        "name": "recette"
    },
    "msg": "",
    "rc": 0,
    "start": "2023-01-27 09:21:01.392753",
    "stderr": "Exception in thread \"main\" java.lang.UnsupportedClassVersionError: org/apache/activemq/console/Main : Unsupported major.minor version 52.0\n\tat java.lang.ClassLoader.defineClass1(Native Method)\n\tat java.lang.ClassLoader.defineClass(ClassLoader.java:803)\n\tat java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)\n\tat java.net.URLClassLoader.defineClass(URLClassLoader.java:442)\n\tat java.net.URLClassLoader.access$100(URLClassLoader.java:64)\n\tat java.net.URLClassLoader$1.run(URLClassLoader.java:354)\n\tat java.net.URLClassLoader$1.run(URLClassLoader.java:348)\n\tat java.security.AccessController.doPrivileged(Native Method)\n\tat java.net.URLClassLoader.findClass(URLClassLoader.java:347)\n\tat java.lang.ClassLoader.loadClass(ClassLoader.java:425)\n\tat sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:312)\n\tat java.lang.ClassLoader.loadClass(ClassLoader.java:358)\n\tat sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)",
    "stderr_lines": [
        "Exception in thread \"main\" java.lang.UnsupportedClassVersionError: org/apache/activemq/console/Main : Unsupported major.minor version 52.0",
        "\tat java.lang.ClassLoader.defineClass1(Native Method)",
        "\tat java.lang.ClassLoader.defineClass(ClassLoader.java:803)",
        "\tat java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)",
        "\tat java.net.URLClassLoader.defineClass(URLClassLoader.java:442)",
        "\tat java.net.URLClassLoader.access$100(URLClassLoader.java:64)",
        "\tat java.net.URLClassLoader$1.run(URLClassLoader.java:354)",
        "\tat java.net.URLClassLoader$1.run(URLClassLoader.java:348)",
        "\tat java.security.AccessController.doPrivileged(Native Method)",
        "\tat java.net.URLClassLoader.findClass(URLClassLoader.java:347)",
        "\tat java.lang.ClassLoader.loadClass(ClassLoader.java:425)",
        "\tat sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:312)",
        "\tat java.lang.ClassLoader.loadClass(ClassLoader.java:358)",
        "\tat sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)"
    ],
    "stdout": "INFO: Loading '/var/opt/application/activemq/activemq-recette/apache-activemq-5.15.9//bin/env'\nINFO: Using java '/usr/bin/java'\nINFO: Waiting at least 30 seconds for regular process termination of pid '6247' : \n...............................\nINFO: Regular shutdown not successful,  sending SIGKILL to process\nINFO: sending SIGKILL to pid '6247'",
    "stdout_lines": [
        "INFO: Loading '/var/opt/application/activemq/activemq-recette/apache-activemq-5.15.9//bin/env'",
        "INFO: Using java '/usr/bin/java'",
        "INFO: Waiting at least 30 seconds for regular process termination of pid '6247' : ",
        "...............................",
        "INFO: Regular shutdown not successful,  sending SIGKILL to process",
        "INFO: sending SIGKILL to pid '6247'"
    ]
}

The "stop command" is waiting for its end, if the role should have a special parameters for waiting it?

It's seems that ansible role is terminate before activeMq end successful...

This message is a problem and indicates that you are running a JDK older than JDK 8. ActiveMQ 5.15.x needs JDK 8 as a minimum.

 Unsupported major.minor version 52.0

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM