尝试卸载监控模型时,可能会遇到一个错误条件。META_MODEL_STEP_T 表与模型的当前状态不匹配时,会发生此错误。例如,尝试运行删除模式脚本,但由于步骤表指示该模式尚未创建,因此该脚本无法运行,即便该模式确实存在时也不例外。要解决此问题条件,可以调用 MBean 方法来强制生命周期步骤进入一致状态。使用包含参数 modelID、versionDate、stepName 和 isComplete 的 setModelStep 方法可设置步骤的状态。
在以下示例中,您已删除模型版本的模式,但监控模型版本页面会报告该模式仍存在。此情况通过管理控制台中监控模型页面上的“模式已创建”部署步骤旁边的绿色选中标记予以指示。要强制“模式已创建”生命周期步骤进入正确的状态,请使用示例代码中所示的 wsadmin 和 setModelStep MBean 方法。
wsadmin -lang <lang_type> -wsadmin_classpath <WAS_home>/plugins/com.ibm.wbimonitor.lifecycle.spi.jar
其中,lang_type 是 jython 或 jacl。
对于所有操作系统,为 wsadmin_classpath 指定的路径都使用正斜杠。set lcMbean [$AdminControl queryNames type=LifecycleServices,*]
$AdminControl invoke $lcMbean setModelStep {MyModelID 20100629113451 runCreateSchemaScript 0 }
lcMbean=AdminControl.queryNames('WebSphere:type=LifecycleServices,*')
AdminControl.invoke(lcMbean, 'setModelStep', '[MyModelID 20100629113451 runCreateSchemaScript 0]')