随笔 - 571  文章 - 4  评论 - 253  阅读 - 72万

BEvent_客制化BusinessEvent通过Workflow Event接受消息传递(案例)

2014-08-03 Created By BaoXinjian

一、摘要

 

复制代码
CREATE TABLE BXJ_BES_EVENTS_T
(
  DEMO_ID                 NUMBER,
  MESSAGE_NAME            VARCHAR2(100),
  MESSAGE_KEY             VARCHAR2(100),
  MESSAGE_CONTENTS        CLOB,
  PARAMETER_VALUE1        VARCHAR2(4000),
  PARAMETER_VALUE2        VARCHAR2(4000),
  EVENT_DATE              DATE  
);

CREATE SEQUENCE BXJ_BES_EVENTS_S;
复制代码

 

 

复制代码
CREATE OR REPLACE PACKAGE bxj_bes_events_pkg
AS
   --2013 Created By BaoXinjian
   FUNCTION process_an_event (p_sub_guid   IN            RAW,
                              p_event      IN OUT NOCOPY wf_event_t)
      RETURN VARCHAR2;
END;

CREATE OR REPLACE PACKAGE BODY bxj_bes_events_pkg
AS
   FUNCTION process_an_event (p_sub_guid   IN            RAW,
                              p_event      IN OUT NOCOPY wf_event_t)
      RETURN VARCHAR2
   IS
      l_demo_rec   bxj_bes_events_t%ROWTYPE;
   BEGIN
      SELECT   bxj_bes_events_s.NEXTVAL INTO l_demo_rec.demo_id FROM DUAL;

      --get evevent itself
      l_demo_rec.message_name := p_event.geteventname;
      l_demo_rec.event_date := p_event.getsenddate;

      --we can use this key to transfer message only
      l_demo_rec.message_key := p_event.geteventkey;

      --optional, get xml data
      l_demo_rec.message_contents := p_event.geteventdata;

      --optional, get parameter
      l_demo_rec.parameter_value1 :=
         p_event.getvalueforparameter ('PARAMETER1');
      l_demo_rec.parameter_value2 :=
         p_event.getvalueforparameter ('PARAMETER2');

      --do anything here
      INSERT INTO bxj_bes_events_t cbd
        VALUES   l_demo_rec;

      RETURN 'SUCCESS';
   EXCEPTION
      WHEN OTHERS
      THEN
         RETURN 'ERROR';
   END;
END;
复制代码

 

 

二、创建Business Event

 

 

 

 

 

 

 

 三、创建Workflow接受Event

 

 

 

 四、测试

 

 

Thanks and Regards

posted on   东方瀚海  阅读(354)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?

点击右上角即可分享
微信分享提示