本文共 4320 字,大约阅读时间需要 14 分钟。
问题:
在Weblogic Integration 上多次部署XXXX_1.0,出现如下错误,重启Server也无法解决
<2008-11-15 上午08时17分15秒 GMT+08:00> <Info> <Deployer> <BEA-149033> <preparing application XXXX_1.0 on cgServer>
<2008-11-15 上午08时17分16秒 GMT+08:00> <Warning> <J2EE> <BEA-160105> <User-defined listener in application XXXX_1.0 threw exception weblogic.management.ApplicationException: Failed to deploy process /XXXX/processes/DirectiveMail/DirectiveMail.jpd. There are running instances with incompatible serialization shape. - with nested exception:[java.lang.RuntimeException: Failed to deploy process /XXXX/processes/DirectiveMail/DirectiveMail.jpd. There are running instances with incompatible serialization shape.]> <2008-11-15 上午08时17分16秒 GMT+08:00> <Info> <Deployer> <BEA-149033> <failed application XXXX_1.0 on cgServer> <2008-11-15 上午08时17分16秒 GMT+08:00> <Info> <Management> <BEA-140009> <Configuration changes for the domain have been saved to the repository.> <2008-11-15 上午08时17分16秒 GMT+08:00> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating Deploy task for application XXXX_1.0.> <2008-11-15 上午08时17分16秒 GMT+08:00> <Error> <Deployer> <BEA-149201> <Failed to complete the deployment task with ID 1 for the application XXXX_1.0.weblogic.management.ApplicationException: Exception:weblogic.management.ApplicationException: NoneNested Exception:java.lang.RuntimeException: Failed to deploy process /XXXX/processes/DirectiveMail/DirectiveMail.jpd. There are running instances with incompatible serialization shape. at com.bea.wli.management.WLIAppListener.checkProject(WLIAppListener.java:211) at com.bea.wli.management.WLIAppListener.initializingApplication(WLIAppListener.java:130) at weblogic.j2ee.ListenerInvocationAction.run(ListenerInvocationAction.java:42) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) at weblogic.j2ee.J2EEApplicationContainer.notifySecureListener(J2EEApplicationContainer.java:4721) at weblogic.j2ee.J2EEApplicationContainer.notify(J2EEApplicationContainer.java:4706) at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:986) at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798) at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2556)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798) at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)--------------- nested within: ------------------weblogic.management.ManagementException: - with nested exception:[weblogic.management.ApplicationException:
解决问题:
1、查了BEA在线帮助,大概知道原因所在:
2、在admin console--流程示例监控中看到processes/DirectiveMail/DirectiveMail.jpd有很多个状态为Abort的线程,但无法清理。
3、直接在DB中清理数据
stopServer,清理数据中如下记录:
select * from wli_process_instance_info
where process_type like '%DirectiveMail%'
4、清理完毕,启动Server,重新部署XXXX_1.0,OK。问题搞定。
补充说明:
Weblogic Integration流程的历史数据清理,一般包含下面几个表,需要定时清理。
truncate table WLI_PROCESS_EVENT;
truncate table WLI_PROCESS_EVENT_ARCH;truncate table WLI_PROCESS_INSTANCE_INFO;truncate table WLI_PROCESS_PROCESSED_EVENT;转载地址:http://egpad.baihongyu.com/