2014-09-16 2 views
1

При вызове пользовательской команды я заметил, что отображаются только журналы. Например, если мой скрипт Custom Comand содержит оператор retrun return "great custom command", я не могу найти его в результате. Как в API Java-клиента, так и в случаях выполнения оболочки.Результат пользовательской команды

Что я могу сделать, чтобы получить этот результат в конце выполнения?

Спасибо.

определение команд в файле описания услуг:

customCommands ([ 
    "getText" : "getText.groovy" 
    ]) 

getText.groovy содержимое файла:

def text = "great custom command" 
println "trying to get a text" 
return text 

ответ

1

Предполагая, что вы служебный файл содержит следующее:

customCommands ([ 

    "printA" : { 
      println "111111" 
      return "222222" 
    }, 

    "printB" : "fileB.groovy" 
]) 

И FILEB. groovy содержит следующий код:

println "AAAAAA" 

return "BBBBBB" 

Затем, если вы выполните следующую команду: вызвать yourService Printa

Вы получите это:

Результаты Призыва: 1: OK от экземпляра # 1 ... Результат: 222222

вызов завершен успешно.

и если вы выполните следующую команду: вызова yourService printB

Вы получите это:

Результаты Призыва: 1: OK от экземпляра # 1 ... Результат : AAAAAA

вызов завершен успешно.

Итак, если реализация вашей пользовательской команды является закрытием Groovy, то ее результатом является ее возвращаемое значение.

И если реализация вашей пользовательской команды является внешним Groovy-файлом, то ее результатом является последний вывод этого оператора.

HTH,

Tamir.

+0

Спасибо за ответ. 'И если реализация вашей пользовательской команды является внешним Groovy-файлом, то ее результатом является последний вывод этого вывода. Когда я пытаюсь использовать его с несколькими« println »в файле, все они появляются в результате, а не только последнее выражение вывод. На самом деле, кажется, что все журналы отображаются как результат (потому что у меня также есть журнал предупреждений из gigaspaces logger). –

+0

Пример результата: ** 1: OK из экземпляра # 1 ..., Результат:/root/gigaspaces/tools/groovy/bin/groovy: 60: [: GNU/Linux: неожиданный оператор [...] tools/groovy/bin/groovy: [...] CONFIG [com.gigaspaces.logger] - Файл журнала: [...]/logs/2014-09-18 ~ 07.56-gigaspaces-service-177.86.0.3-2598 .log TOMCAT-service.groovy (updateWar пользовательские команды): warUrl является helloWorld.war ... -кот service.groovy (updateWar customCommand): вызывая updateWarFile пользовательскую команду TOMCAT-service.groovy (updateWar customCommand): Конец вызов завершен успешно. ** –