Я пытаюсь создать ресурс jmsprovider с помощью wsadmin, как показано ниже в установленной версии WAS ND 8.5.5.9.
wsadmin>AdminConfig.getid('/Node:TestDmgrNode/')
'TestDmgrNode(cells/TestCell/nodes/TestDmgrNode|node.xml#Node_1)'
wsadmin>AdminConfig.create('JMSProvider', node, [['name', 'TestProvider1'], ['description', 'TestProvider1'], ['classpath', '/var/tmp/test.jar'], ['externalInitialContextFactory', 'testICF'], ['externalProviderURL', 'testexternalurl']])
'TestProvider1(cells/TestCell/nodes/TestDmgrNode|resources.xml#JMSProvider_1517482261206)'
wsadmin>AdminConfig.save()
Однажды я сохранил конфигурацию, в которой я могу видеть ресурс в разделе JMS Provider. Теперь я попытался снова запустить ту же команду, и она снова сохраняет тот же ресурс, не выдавая никаких исключений, что ресурс с «именем» уже существует.
wsadmin>AdminConfig.create('JMSProvider', node, [['name', 'TestProvider1'], ['description', 'TestProvider1'], ['classpath', '/var/tmp/test.jar'], ['externalInitialContextFactory', 'testICF'], ['externalProviderURL', 'testexternalurl']])
'TestProvider1(cells/TestCell/nodes/TestDmgrNode|resources.xml#JMSProvider_1517482261206)'
wsadmin>AdminConfig.save()
Может ли кто-нибудь помочь, если это связано с какой-либо ошибкой в установленной версии
Примечание. Когда я пытаюсь снова добавить тот же ресурс с помощью консоли администратора, возникает ошибка.
Пожалуйста, предложите Спасибо, Судхир
Да, мне удалось воспроизвести то, что вы описали, и об этом следует сообщить как об ошибке из-за несовместимого поведения между wsadmin и консолью администратора. В качестве простого обходного пути перед созданием JMSProvider проверьте наличие любого JMSProvider с тем же именем, что и ваш новый JMSProvider, в той же области, в которой вы создаете новый. Например:
def jmsProviderExists(scope, jmspName):
#print 'JMSProviders' + AdminConfig.list('JMSProvider',scope)
jps = AdminConfig.list('JMSProvider',scope).splitlines()
#print jps
for jp in jps:
#print jp
name = AdminConfig.showAttribute(jp, 'name')
if name == jmspName:
return True
continue
return False
node = AdminConfig.getid('/Node:DefaultNode01/')
#print 'Node:' + node
intendedName='TestProvider1'
if jmsProviderExists(node, intendedName):
print 'JMSProvider with name already exists'
else:
print 'Create JMSProvider'