Я пишу сценарий оболочки для вызова функции 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.Может ли кто-нибудь помочь в этом?