Я пытаюсь передать данные из пакетного файла в файл jython и использовать его при создании фабрик подключения очереди webspehere. Я новичок в этом языке сценариев Jythn. пожалуйста, помогите мне решить это.Как передать данные из командного файла в файл jython
Пакетный файл:
@rem create a JMS connection factories call %PROFILE_PATH%\bin\wsadmin -lang jython -f checkconn.jy %NODE_NAME% %SERVER_NAME% %QUEUE_MANAGERNAME% %QUEUE_HOSTNAME% %QUEUE_PORTNUMBER%
так я передаю ниже значений из пакетного файла для Jython файла:
следующие параметры передаются в среде сценариев и доступны в качестве аргументов, которые хранятся в переменной ARGV:
"[MyServer7Node, MyServer7, QM_BFDC49, 127.0.0.1, 1416]"
Мой Jython код:
import sys
nodeName =sys.argv[0]
serverName =sys.argv[1]
queueManagername =sys.argv[2]
queueHostname =sys.argv[3]
queuePort=sys.argv[4]
def createconnectionFactories(nodeName,serverName,queueManagername,queueHostname,queuePort):
print "Creating connection factories"
ds = AdminConfig.getid("/Node:"+nodeName+"/Server:"+serverName+"/")
print queuePort
AdminTask.createWMQConnectionFactory(ds,["-name ConnectionFactory -jndiName 'jms/ConnectionFactory' -type CF -qmgrName '+queueManagername+' -wmqTransportType BINDINGS_THEN_CLIENT -qmgrHostname '+queueHostname+' -qmgrPortNumber '+queuePort+' -qmgrSvrconnChannel SYSTEM.AUTO.SVRCONN"])
AdminTask.createWMQConnectionFactory(ds,["-name IntegrationConnectionFactory -jndiName 'jms/IntegrationConnectionFactory' -type CF -qmgrName '+queueManagername+' -wmqTransportType BINDINGS_THEN_CLIENT -qmgrHostname '+queueHostname+' -qmgrPortNumber '+queuePort+' -qmgrSvrconnChannel SYSTEM.AUTO.SVRCONN"])
AdminConfig.save()
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Main program
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
createconnectionFactories(nodeName,serverName,queueManagername,queueHostname,queuePort)
Когда я пытаюсь запустить скрипт, я не могу вставить значение для queueManagername, queueHostname и queuePort.
Может ли кто-нибудь сказать мне, как я могу передать значение ввода пользователем здесь в сценарии jython?
Поскольку в этом случае работает '+ queueManagername +', '+ queueHostname +', '+ queuePort +'.
Поскольку подсветка синтаксиса указывает, что вы фактически не пытаетесь интерполировать переменные в свою строку. Проверьте [документы о форматировании строк] (https://docs.python.org/2/library/string.html#format-examples) для примеров того, как это сделать правильно – UnholySheep
Не могли бы вы рассказать мне в моем случае Как можно Я отформатирую строку, чтобы она могла принимать значения для queueManagername, queueHostname и queuePort –
@UnholySheep: Я новичок в языке сценариев Jython –