WebSphere wsadmin脚本,用于为JMS提供程序创建自定义属性

时间:2018-01-11 12:44:48

标签: websphere wsadmin

我在WebSphere 8中创建了一个自定义JMS提供程序。现在我想向这个JMS提供程序添加自定义属性,但通常的过程不起作用。

我使用以下命令(Jython)创建了JMS提供程序:

server = AdminConfig.getid('/Cell:cell/Node:node0/Server:appserver/')
jms_provider = AdminConfig.create('JMSProvider', server, '[[name "ActiveMQ"] [externalInitialContextFactory "org.apache.activemq.jndi.ActiveMQWASInitialContextFactory"] [externalProviderURL "tcp://10.1.1.1:61616"]]')

通常,我会获得一个自定义属性集以便弹出它,但我得到“无”:

wsadmin> print(AdminConfig.showAttribute(jms_provider, 'propertySet'))
(None)

创建一个新的也不起作用:

wsadmin> AdminConfig.create('J2EEResourceProperty', jms_provider, [])

WASX7015E: Exception running command: "AdminConfig.create('J2EEResourceProperty', jms_provider, [])"; exception information:
 com.ibm.ws.scripting.ScriptingException: WASX7129E: Cannot create objects of type "J2EEResourceProperty" in parents of type "JMSProvider"

如何为JMS提供程序创建初始属性集?

1 个答案:

答案 0 :(得分:1)

解决方案是创建一个J2EEResourcePropertySet而不是J2EEResourceProperty:

props = AdminConfig.create('J2EEResourcePropertySet', jms_provider, [])
AdminConfig.create('J2EEResourceProperty', props, '[[name "java.naming.queue.Queue1"] [value "Queue1"]]')