管理 BPEL 生产环境(二)

日期: 2007-12-13 作者:Stany Blanvalet 来源:TechTarget中国

  可从 BPEL 控制台清除数据库中的实例信息,如下所示。

 
  图 1:删除已完成的实例

  在生产环境中,有必要在删除信息之前对其进行存档 — 需对数百个实例进行此项操作。幸运地是,您可以使用 PL/SQL 或 EJB 来达到此目的。(请记住,在将信息从 BPEL 数据库中清除之前,应将这些信息移至其他位置。)我们来看一些示例:

  利用 EJB 存档。 此例将用到以下接口和方法。

  com.oracle.bpel.client   接口 IBPELDomainHandle
  方法摘要
  int            archiveInstances(WhereCondition wc, boolean deleteInstances)
              (存档所有由 wc 指定的搜索条件返回的实例)

  方法 archiveInstances 将存档并删除所有已完成的实例。它接受参数 keepdays,该参数指定已完成实例在存档前可保留的天数。

public static int archiveInstances(Locator locator, String processId, int keepdays)
throws ORABPELAccessException {
  try {
   WhereCondition wc = WhereConditionHelper.whereInstancesClosed();
   WhereCondition tmpWhere = new WhereCondition();
   NonSyncStringBuffer buf = new NonSyncStringBuffer();
   if (!"*".equals(processId)) {
    buf.setLength(0);
    tmpWhere.setClause(buf.append(" AND ").append(
      SQLDefs.AL_ci_process_id).append(" = ?").toString());
    tmpWhere.setString(1, processId);
    wc.append(tmpWhere);
   }
   Calendar cal = Calendar.getInstance();
   cal.add(Calendar.DATE, -keepdays);
   buf.setLength(0);
   tmpWhere.setClause(buf.append(" AND ").append(
    SQLDefs.AL_ci_modify_date).append(" <= ?").toString());
   tmpWhere.setTimestamp(1, cal.getTime());
   wc.append(tmpWhere);
   IBPELDomainHandle domain = locator.lookupDomain();
   return domain.archiveInstances(wc, true);
  } catch (ServerException se) {
   throw new ORABPELAccessException(se.getMessage());
  }
 }

  利用 PL/SQL 存档。 管理员还可利用 PL/SQL 来达到此目的。在将记录从数据库中删除之前,DBA 可根据自身需要将记录移至其他数据库/表。下面就是一个例子:

Query: SELECT CIKEY FROM CUBE_INSTANCE, DOMAIN
 WHERE BPELMNG.CUBE_INSTANCE.DOMAIN_REF = BPELMNG.DOMAIN.DOMAIN_REF
 AND BPELMNG.DOMAIN.DOMAIN_ID = ‘XXX’  ?XXX is the name of the domain
 AND STATE = 5     ?’5′ mean COMPLETED
 AND MODIFY_DATE < SYSDATE-X   ?X is the number of day of history
 AND PROCESS_ID = ‘XXX’;   ?XXX is the process name
 
Actions:
 For each CIKEY, call COLLAXA.delete_ci(CIKEY); oracle procedure.

  在接下来的部分中,您将学习如何删除回调和调用消息。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • SAP收购CallidusCloud 与Salesforce竞争

    一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。