Esempi: utilizzo di PALService MBean per le attività di amministrazione

Tradizionale:
fare riferimento ai seguenti esempi per comprendere come utilizzare l'MBean PALService per completare le attività di gestione comuni. Tutti gli esempi utilizzano il metodo processInstancesPurge disponibile in MBean.

Il metodo processInstancesPurge utilizza gli stessi parametri del comando wsadmin BPMProcessInstancesPurge . Per ulteriori informazioni, vedere il comando BPMProcessInstancesCleanup. Ogni esempio presuppone che l'utente abbia già eseguito l'accesso con il ruolo di amministratore corretto.
profile_root/bin/wsadmin.sh -lang jython -username username -password password

Ci sono diversi elementi che è necessario conoscere per specificare la sintassi corretta per la versione MBeans del comando BPMProcessInstancesPurge . Ad esempio, il comando accetta solo i seguenti quattro tipi di dati:

  • Stringa java.lang.String
  • matrice stringa [Ljava.lang.String;
  • Booleano java.lang.Boolean (che richiede una via indiretta attraverso una variabile piuttosto che specificare il valore non elaborato di true o false)
  • Un valore null rappresentato come parametro None .

Inoltre, se il parametro endedBefore o endedAfter viene specificato e lo stato dell'istanza è impostato su ALL (instst = [ "ALL" ]), potrebbero verificarsi risultati imprevisti perché solo le istanze del processo che si trovano nello stato COMPLETED o TERMINATED possono avere una data di fine. Le istanze del processo che si trovano in uno stato diverso non possono essere eliminate perché non soddisfano la condizione temporale.

Nota: l'esecuzione del comando MBean in una shell wsadmin accoda il risultato della sua esecuzione al file di output specificato come parametro al comando. È importante visualizzare il file di output per valutare il numero di istanze eliminate.

Esempio: eliminazione di istanze di processo in base a ID istanza

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"] )

Esempio: eliminazione di istanze di processo che si verificano durante un intervallo di tempo specifico

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"] )

Esempio: eliminazione di istanze di processo che si verificano prima di un'ora locale specificata sul server

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"] )

Esempio: eliminazione di istanze di processo che si verificano dopo un'ora locale specificata nel server

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"] )

Esempio: eliminazione di istanze di processo che si verificano durante un intervallo di tempo e che sono basate sugli ID istanza

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"] )

Esempio: eliminazione di istanze di processo che si verificano prima di un'ora locale specificata sul server e che sono basate su ID istanza

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"] )

Esempio: eliminazione di istanze del processo che si verificano dopo un'ora locale specificata sul server e che sono basate su ID istanza

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"] )