如何使用 wlst 脚本取消定位 JDBC 资源?

How to untarget a JDBC resource using wlst script?

我正在尝试使用 wlst 脚本在 weblogic 中取消定位 JDBCResource。

我尝试了以下方法:

cd('/JdbcSystemResource/DataSource1')
set('Targets',jarray.array([], ObjectName))

但失败并出现以下异常:

com.oracle.cie.domain.script.jython.WLSTException: com.oracle.cie.domain.script.jython.WLSTException: java.lang.IllegalArgumentException: Param type [Ljavax.management.ObjectName; not supported

为什么说不支持 ObjectName?

如果您知道目标的名称,则可以使用类似以下内容明确删除它:

startEdit()
cd('/JDBCSystemResources/myDS')
jdbcDS=cmo
cd("/Servers/server1")
target=cmo  
jdbcDS.removeTarget(target)

如果您不知道目标,也很容易找到:

cd('/JDBCSystemResources/myDS')
cmo.getTargets()

基本上我是在离线模式下尝试的,并且从一个 oracle 文档中我发现我们可以使用取消分配功能在离线模式下取消目标

 cd('/JDBCSystemResources/'+ dsName)
 targets = cmo.getTargets()
 for target in targets:
     unassign("JDBCSystemResource",dsName, "Target",target.getName())