【问题标题】:WLSTException: Error cding to the MBean on line 4WLSTException:在第 4 行 Cding 到 MBean 时出错
【发布时间】:2015-09-02 09:06:26
【问题描述】:

我编写了一个 wlst 脚本来创建多个连接工厂。代码如下:

def createJMSConnFac(systemModuleName,ConnectionFactoryJNDIName,connectionFactoryName):
    cd('/JMSSystemResources/'+systemModuleName+'/JMSResource/'+systemModuleName)
    cmo.createConnectionFactory(connectionFactoryName)
    cd('/JMSSystemResources/'+systemModuleName+'/JMSResource/'+systemModuleName+'/ConnectionFactories/'+connectionFactoryName)
    cmo.setJNDIName(ConnectionFactoryJNDIName)
    print "Created a ConnectionFactory !!"
    cd('/JMSSystemResources/'+systemModuleName+'/JMSResource/'+systemModuleName+'/ConnectionFactories/'+connectionFactoryName+'/SecurityParams/'+connectionFactoryName)
    cmo.setAttachJMSXUserId(false)
    cd('/JMSSystemResources/'+systemModuleName+'/JMSResource/'+systemModuleName+'/ConnectionFactories/'+connectionFactoryName)
    cmo.setDefaultTargetingEnabled(true)
    print "Targeted the ConnectionFactory !!"

调用这个方法的循环是:

y=1
while(y <= int(total_conf)):
    print '----------- Connection Factory Creation ---------'
    print 'Total Conf :' +total_conf
    conf_name=configProps.get("conf_name"+ str(a) + "." +str(y))
    conf_jndi=configProps.get("conf_jndi"+ str(a) + "." +str(y))
    print 'Conf Name :' +conf_name
    print 'Conf JNDI :' +conf_jndi
    print 'Conf JMS Mod Name :'+jms_mod_name
    print a
    print y
    createJMSConnFac(jms_mod_name,conf_jndi,conf_name)
    y = y + 1

这里要注意的是:它正确地创建了 connfac1 但是一旦它第二次迭代,它就会抛出一个错误说:

WLSTException: Error cding to the MBean on line 4

jms_mod_name 、 conf_jndi 和 conf_name 的值在两次迭代中都被正确打印。 还有什么我可能在这里遗漏的吗?请求您的帮助

谢谢, 巴文

【问题讨论】:

  • 你能发布整个回溯吗?
  • 没有可用的堆栈跟踪。调用 WLST 时出现问题 - Traceback(最里面的最后一个):文件“/wls_domains/ionix_dl/SingleTouchIonix/wlstByExamples/IonixDL_JMSConfig.py”,第 220 行,在?文件“/wls_domains/ionix_dl/SingleTouchIonix/wlstByExamples/IonixDL_JMSConfig.py”,第 97 行,createJMSConnFac 文件“”,第 182 行,cd 文件“”,第 1848 行,raiseWLSTException WLSTException:错误 cding 到MBean
  • 有人帮忙吗?
  • 通过edit发送您的问题显示打印输出和异常。它比评论更容易阅读。编辑链接就在您的问题下方。您没有显示a 是什么变量,或者jms_mod_name...其中一个可能是问题

标签: python connection weblogic wlst


【解决方案1】:

我能够使用此代码创建 3 个(或更多)CF:

def createJMSConnFac(systemModuleName,ConnectionFactoryJNDIName,connectionFactoryName):
    cmo=cd('/JMSSystemResources/'+systemModuleName+'/JMSResource/'+systemModuleName)
    cmo.createConnectionFactory(connectionFactoryName)
    cmo=cd('/JMSSystemResources/'+systemModuleName+'/JMSResource/'+systemModuleName+'/ConnectionFactories/'+connectionFactoryName)
    cmo.setJNDIName(ConnectionFactoryJNDIName)
    print "Created a ConnectionFactory !!"
    cmo=cd('/JMSSystemResources/'+systemModuleName+'/JMSResource/'+systemModuleName+'/ConnectionFactories/'+connectionFactoryName+'/SecurityParams/'+connectionFactoryName)
    cmo.setAttachJMSXUserId(false)
    cmo=cd('/JMSSystemResources/'+systemModuleName+'/JMSResource/'+systemModuleName+'/ConnectionFactories/'+connectionFactoryName)
    cmo.setDefaultTargetingEnabled(true)
    print "Targeted the ConnectionFactory !!"

connect("weblogic","password","t3://host:port")
edit()
startEdit()
y=1
while(y <= 3):
    print '----------- Connection Factory Creation ---------'
    conf_name="conf_name." +str(y)
    conf_jndi="conf_jndi." +str(y)
    print 'Conf Name :' +conf_name
    print 'Conf JNDI :' +conf_jndi
    #print a
    print y
    createJMSConnFac('testModule',conf_jndi,conf_name)
    y = y + 1
save()
activate(block="true")
disconnect()

【讨论】:

  • 感谢 Kshitij 在这方面的帮助。我调试发现这个参数的值:systemModuleName 没有被正确传递。谢谢
猜你喜欢
  • 2015-12-04
  • 1970-01-01
  • 2023-02-16
  • 1970-01-01
  • 1970-01-01
  • 2013-09-25
  • 2012-05-16
  • 1970-01-01
  • 2011-07-08
相关资源
最近更新 更多