Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-846

Improve usability of jboss-admin.sh for scripting environments

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Done
    • Major
    • 7.0.0.CR1
    • 7.0.0.Beta3
    • CLI
    • None

    Description

      I want to be able to find out what deployments exist in a server in a
      scripting environment. There are a couple of issues in the
      jboss-admin.sh that prevent this from being done. The first is the dump
      of the environment header:

      =========================================================================

      JBoss Admin Command-line Interface

      JBOSS_HOME:
      /home/git/JBossAS/jboss-as/build/target/jboss-7.0.0.Beta4-SNAPSHOT

      JAVA:
      /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/java

      JAVA_OPTS:

      =========================================================================

      1. I would like to add a q/-quiet option that disables the output of
      this header. It would also suppress the "Connected..." and "Closed..."
      msgs as all I want to see is the output of the command that is being
      executed to simplify the script's parsing of the returned information.

      2. The second is the handling of arguments with strings. The way the
      launch of the org.jboss.as.cli module is done, arguments to the
      jboss-admin.sh with quotes around spaces are incorrectly interpretted as
      multiple arguments. For example, trying to list the deployments using:

      [130](ironmaiden:bin) > ./jboss-admin.sh --connect command='ls deployment'
      Connected to standalone controller at localhost:9999
      extension path subsystem
      deployment management-interfaces management
      interface socket-binding-group
      Closed connection to localhost:9999

      produced just the result of an "ls" command without any arguments. The
      reason is that the CommandLineMain.main saw 3 arguments instead of 2:

      {"--connect", "command=ls", "deployment"}

      . The "$@" list of arguments
      to the shell script needs to be hard quoted so that the eval command
      properly expands the arguments. With this, the previous command now
      produces the expected listing of the deployment node:

      [131](ironmaiden:bin) > ./jboss-admin.sh --connect command='ls deployment'
      Connected to standalone controller at localhost:9999
      ROOT.war
      Closed connection to localhost:9999

      In these examples I have not yet suppressed the "Connected..." and
      "Closed..." msgs coming from the CommandLineMain class.

      Attachments

        Activity

          People

            starksm64 Scott Stark (Inactive)
            starksm64 Scott Stark (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 1 hour
                1h
                Remaining:
                Remaining Estimate - 1 hour
                1h
                Logged:
                Time Spent - Not Specified
                Not Specified