как метод jmx_invoke с количеством параметров в оболочке - PullRequest
0 голосов
/ 05 июня 2019

Я пишу сценарий оболочки для вызова функции jmx.Сначала я записываю все функции jmx в файл, а затем выполняю их.

            printJmxCommands()
            {
                formatDate=`date +%Y-%m-%d`
                batch_command_file=${Path}/batch_command_file.txt
                jmx_cmd_connect="jmx_connect -h ${HOST} -P ${JMX_PASS} -p ${PORT} -U ${JMX_USER} -t 90"
                jmx_cmd_invoke="jmx_invoke -m com:type=process,name=ValueAddedServices "'calculateVAS int java.lang.String java.lang.String     boolean boolean'" $date $tfilelist $mfilelist $debug $direct"
                jmx_cmd_close="jmx_close"
                echo ${jmx_cmd_connect} > ${batch_command_file}
                echo ${jmx_cmd_invoke} >> ${batch_command_file}
                echo ${jmx_cmd_close} >> ${batch_command_file}
            }





            submitbatch()
            {
                print "Invoking command...."
                print "jmx_invoke -m com:type=process,name=ValueAddedServices calculateVAS $cob $tfilelist $mfilelist $debug $direct"
                java -jar $cmdjmxjar -l ${myjmxlog} -c false  ${batch_command_file}

                print "Checking whether we are connected to given host within given time or not?"
                print "if successfully connected, The current connection log file must be having 'ConnectCmd Connected' "

                successtag="Success"
                isSuccess=0
                if [ -f ${myjmxlog} ]; then
                            isSuccess=`grep -i -c "$successtag" $myjmxlog`
                else
                    error_message="!!!! ERROR: File [ ${myjmxlog} ] does NOT exist, likely the JMX calls did NOT happen !!!!"
                    print ${error_message} 2>&1
                    echo ${error_message} >&2
                    exit 1
                fi
                if [ ${isSuccess} -le 0 ]; then
                    error_message="!!!! ERROR: Failed to find [ ${successtag} ] in ${myjmxlog}, possible errors in batch run!!!!"
                    print ${error_message} 2>&1
                    echo ${error_message} >&2
                    exit 1
                fi

            }

Теперь, когда я выполняю этот пакет отправки, мне выдается следующая ошибка: Ошибка обработки файла '/ path / logs / batch_command_file.txt '- Неправильное количество параметров, предоставленных для' calcVAS ', ожидаемое 4, получено 10.

Существует два метода с одинаковым именем CalcuVAS, один с 4 параметрами и один с 5 параметрами.Когда я просто пишу Calculate VAS, он говорит мне, что ожидаемый 4 получил 5. Так вот почему я поставил тип параметра, но я получаю ошибку при выполнении метода jmx_invoke.Может ли кто-нибудь помочь в этом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...