示例:对管理任务使用 PALService MBean

Draft comment:
This topic only applies to BAW, and is located in the BAW repository. Last updated on 2025-01-20 10:38
传统:
请参阅以下示例,以帮助您了解如何使用 PALService MBean 来完成常见管理任务。 所有示例都使用 MBean 中可用的 processInstancesPurge 方法。
processInstancesPurge 方法使用与相应的 wsadmin BPMProcessInstancesPurge 命令相同的参数。 有关详细信息,请参阅 BPMProcessInstancesCleanup 命令。 每个示例都假定用户已经使用正确的管理角色登录。
profile_root/bin/wsadmin.sh -lang jython -username username -password password

您需要了解一些事项以帮助您为 BPMProcessInstancesPurge 命令的 MBean 版本指定正确的语法。 例如,该命令仅接受以下四种数据类型:

  • 字符串 java.lang.String
  • 字符串数组 [Ljava.lang.String;
  • 布尔 java.lang.Boolean(需要通过变量间接指定,而不是指定原始值 truefalse
  • 表示为 None 参数的空值。

另外,如果指定 endedBeforeendedAfter 参数,并且将实例状态设置为 ALL (instst = [ "ALL" ]),那么可能会出现意外结果,因为只有一个处于 COMPLETEDTERMINATED 状态的流程实例可以具有结束日期。 无法清除处于不同状态的流程实例,因为它们不满足时间条件。

注: 在 wsadmin shell 中执行 MBean 命令会将其执行结果附加到指定为该命令的参数的输出文件。 重要的是查看输出文件以评估已删除的实例数。

示例:根据实例标识删除流程实例

import javax.management as mgmt
import java.lang.String
import jarray

mbean = AdminControl.completeObjectName( "type=PALService,node=nodename1,process=server1,*" )

acro = "MBD"

snapshotslist = ["SS0"]
ssarray = jarray.array( snapshotslist, java.lang.String )

instst =[ "ALL"]
statuses = jarray.array( instst, java.lang.String )

instanceIDs = ["841","842"]
instances = jarray.array( instanceIDs, java.lang.String )

force = java.lang.Boolean( "true" )
AdminControl.invoke_jmx ( mgmt.ObjectName(mbean), "processInstancesPurge", [acro, ssarray, statuses, instances, None, None, "C:/Temp/output.txt", None, None, force, ], ["java.lang.String", "[Ljava.lang.String;", "[Ljava.lang.String;", "[Ljava.lang.String;", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.Boolean"] )

示例:删除特定时间范围内发生的流程实例

import javax.management as mgmt
import java.lang.String
import jarray

mbean = AdminControl.completeObjectName( "type=PALService,node=nodename1,process=server1,*" )

acro = "MBD"

instst =["All"]
statuses = jarray.array( instst, java.lang.String )

force = java.lang.Boolean( "true" )

endedAfter  = "2018-09-14T10:00:00"
endedBefore = "2018-09-14T11:55:00"

AdminControl.invoke_jmx ( mgmt.ObjectName(mbean), "processInstancesPurge", [acro, None, statuses, None, endedAfter, endedBefore, "C:/Temp/output.txt", None, None, force ], ["java.lang.String", "[Ljava.lang.String;", "[Ljava.lang.String;", "[Ljava.lang.String;", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.Boolean"] )

示例:删除服务器上所指定本地时间之前发生的流程实例

import javax.management as mgmt
import java.lang.String
import jarray

mbean = AdminControl.completeObjectName( "type=PALService,node=nodename1,process=server1,*" )

acro = "MBD"

instst =["All"]
statuses = jarray.array( instst, java.lang.String )

force = java.lang.Boolean( "true" )

endedBefore = "2018-09-13T09:23:00"

AdminControl.invoke_jmx ( mgmt.ObjectName(mbean), "processInstancesPurge", [acro, None, statuses, None, None, endedBefore, "C:/Temp/output.txt", None, None, force ], ["java.lang.String", "[Ljava.lang.String;", "[Ljava.lang.String;", "[Ljava.lang.String;", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.Boolean"] )

示例:删除服务器上所指定本地时间之后发生的流程实例

import javax.management as mgmt
import java.lang.String
import jarray

mbean = AdminControl.completeObjectName( "type=PALService,node=nodename1,process=server1,*" )

acro = "MBD"

instst =["All"]
statuses = jarray.array( instst, java.lang.String )

endedAfter = "2018-09-13T09:13:10"

force = java.lang.Boolean( "true" )

AdminControl.invoke_jmx ( mgmt.ObjectName(mbean), "processInstancesPurge", [acro, None, statuses, None, endedAfter, None, "C:/Temp/output.txt", None, None, force ], ["java.lang.String", "[Ljava.lang.String;", "[Ljava.lang.String;", "[Ljava.lang.String;", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.Boolean"] )

示例:根据实例标识删除时间范围内发生的流程实例

import javax.management as mgmt
import java.lang.String
import jarray

mbean = AdminControl.completeObjectName( "type=PALService,node=nodename1,process=server1,*" )

acro = "MBD"

instst =["All"]
statuses = jarray.array( instst, java.lang.String )

instanceIDs = ["835","836"]
instances = jarray.array( instanceIDs, java.lang.String )

endedBefore = "2018-09-14T09:20:00"
endedAfter  = "2018-09-14T08:00:00"

force = java.lang.Boolean( "true" )

AdminControl.invoke_jmx ( mgmt.ObjectName(mbean), "processInstancesPurge", [acro, None, statuses, instances, endedAfter, endedBefore, "C:/Temp/output.txt", None, None, force ], ["java.lang.String", "[Ljava.lang.String;", "[Ljava.lang.String;", "[Ljava.lang.String;", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.Boolean"] )

示例:根据实例标识删除服务器上所指定本地时间之前发生的流程实例

import javax.management as mgmt
import java.lang.String
import jarray

mbean = AdminControl.completeObjectName( "type=PALService,node=nodename1,process=server1,*" )

acro = "MBD"

instst =["All"]
statuses = jarray.array( instst, java.lang.String )

instanceIDs = ["834","837"]
instances = jarray.array( instanceIDs, java.lang.String )

endedBefore = "2018-09-14T09:30:00"

force = java.lang.Boolean( "true" )

AdminControl.invoke_jmx ( mgmt.ObjectName(mbean), "processInstancesPurge", [acro, None, statuses, instances,  None, endedBefore, "C:/Temp/output.txt", None, None, force ], ["java.lang.String", "[Ljava.lang.String;", "[Ljava.lang.String;", "[Ljava.lang.String;", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.Boolean"] )

示例:根据实例标识删除服务器上所指定本地时间之后发生的流程实例

import javax.management as mgmt
import java.lang.String
import jarray

mbean = AdminControl.completeObjectName( "type=PALService,node=nodename1,process=server1,*" )

acro = "MBD"

instst =["All"]
statuses = jarray.array( instst, java.lang.String )

instanceIDs = ["839","840"]
instances = jarray.array( instanceIDs, java.lang.String )

endedAfter = "2018-09-14T09:30:00"

force = java.lang.Boolean( "true" )

AdminControl.invoke_jmx ( mgmt.ObjectName(mbean), "processInstancesPurge", [acro, None, statuses, instances, endedAfter, None, "C:/Temp/output.txt", None, None, force ], ["java.lang.String", "[Ljava.lang.String;", "[Ljava.lang.String;", "[Ljava.lang.String;", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.Boolean"] )