`
C_LIFE
  • 浏览: 37586 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SOA Suite 11g 开发指南之十二:使用EDN处理事件

    博客分类:
  • SOA
 
阅读更多
.
声明:该博文来自热爱JAVA,热爱生活。原文地址http://maping930883.blogspot.com/

Event Driven Network (EDN)是Oracle SOA Suite 11g中的高级特性,它可以帮助我们处理事件。
过去,事件的生产者和消费者往往通过JMS来管理和配置信息,你需要了解JMS的工作原理,创建Factory,Queue,Topic等对象,然后编写代码“生产或消费”事件,比较繁琐。
有了EDN以后,事件处理变得非常简单:你无需理解和配置JMS就可以“生产和消费”事件。

应用设计如下:



重要步骤说明:
1.增加一个Meditor,作为订单的另一个入口。
2.该Meditor上定义了一个订阅事件:NewPO。




3.发布事件到Meditor上
(1)执行 setDomainEnv.cmd,设置CLASSPATH变量。
(2)配置发布脚本:publish.cmd,脚本内容如下:
set DB_USER=bj_soainfra
set DB_PASSWD=welcome1
set DB_CONN=localhost:1521:XE
set JAVA_HOME=C:\Oracle\Java\jdk1.6.0_25
set PATH=%JAVA_HOME%\bin;%PATH%
set ORACLE_HOME=C:\Oracle\Middleware\Oracle_SOA1
set EVENTFILE=%1

java oracle.integration.platform.blocks.event.SendEvent -dbconn %DB_CONN% -dbuser %DB_USER% -dbpass %DB_PASSWD% -event %EVENTFILE%

(3)运行发布命令: publish ..\input\new_po_event.xml。其中,new_po_event.xml 内容如下:
<business-event xmlns:ns1="http://schemas.oracle.com/events/edl/POEvents" xmlns="http://oracle.com/fabric/businessEvent">
<name>ns1:NewPO</name>
<id>e4196227-806c-4680-a6b4-6f8df931b3f3</id>
<content>
<PurchaseOrder xmlns="http://xmlns.oracle.com/ns/order">
<CustID>1111</CustID>
<ID>33412</ID>
<productName>Sony Bluray DVD Player</productName>
<itemType>Electronics</itemType>
<price>350</price>
<quantity>5</quantity>
<status>Initial</status>
<ccType>Mastercard</ccType>
<ccNumber>1234-1234-1234-1234</ccNumber>
</PurchaseOrder>
</content>
</business-event>

4.测试。在EM上如果看到订单是从ReceiveNewPO进入的,就说明成功了。


5.启示:我们可以利用EDN批量发布事件到SOA应用。
  • 大小: 111 KB
  • 大小: 279.2 KB
  • 大小: 70.1 KB
分享到:
评论

相关推荐

    config:使用EDN配置文件在Clojure中管理环境变量的库

    "config"库提供了一个优雅的方式来处理这些需求,它允许开发者使用EDN(Extensible Data Notation)配置文件来管理环境变量。本文将深入探讨config库的功能、用法以及如何将它集成到Clojure项目中。 首先,我们要...

    config:使用EDN文件和clojure.spec配置系统

    本文将深入探讨如何使用EDN(Extensible Data Notation)文件和clojure.spec来构建和管理配置系统,以实现更加灵活和可靠的软件工程实践。 **EDN文件:配置的标准格式** EDN是一种轻量级的数据表示格式,它是...

    cl-edn:EDN格式的通用Lisp序列化库

    cl-edn库的出现,为Common Lisp社区提供了一个标准的工具来处理EDN格式,提高了与其他使用EDN系统的协作效率。 4. **通用性**:cl-edn库被称为“通用”,意味着它可以跨多个Common Lisp实现工作,如SBCL、Clozure ...

    edn-data:EDN解析器和生成器,可与纯JS数据一起使用,并支持TS和节点流

    允许使用JavaScript处理纯数据,因此所有内容也可以序列化为JSON 支持现代JavaScript类型,例如Map , Set和bigint 支持将EDN流列表作为Node.js中的标准 有一个可以在Node.js和浏览器中使用的解决方案 为什么要在...

    java逻辑思维笔试题-herbert:为edn值定义架构的Clojure库

    中明确缺少模式与许多使用接口定义语言的序列化库形成鲜明对比。 edn值基本上不言自明,不需要单独的描述或解释层。 这并不是说模式没有潜在的用处,它们只是不是edn格式定义的一部分。 Herbert项目的目标是提供一种...

    edn:python的edn库

    默认情况下使用不可变类型,允许支持全范围的 edn 代码。 实际上是可扩展的,所以你自己的对象和类型可以在 edn 中编码和解码。 正确获得 unicode 支持。 完全单元测试。 Parser 使用实现,这使得代码简洁明了。

    Python库 | kim-edn-1.3.0.tar.gz

    **Python库 kim-edn-1.3.0** 在Python编程世界中,库扮演着至关重要的角色,它们扩展了Python的基础功能,使开发者能够轻松处理各种任务,从...了解并掌握这个库,可以帮助开发者更好地利用EDN格式,提升开发效率。

    ACTEL Edn网表的调用问题的处理.rar

    ACTEL公司的Edn是一款强大的可编程逻辑器件(PLD)设计工具,主要用于FPGA(Field-Programmable Gate Array)的开发。在使用过程中,调用网表是设计流程中的关键步骤,它涉及到将设计的逻辑功能转换为硬件实现的过程...

    EDN51单片机板,包括原理图和PCB

    EDN51单片机板是一款基于微控制器的开发平台,专为电子设计工程师和学习者提供实践和学习的机会。这个板子集成了EDN51型号的微控制器,它通常具备高性能、低功耗以及丰富的外设接口,使得用户能够进行各种复杂或简单...

    dyn-edn:EDN内容中的动态属性

    在Clojure中,配置文件通常是用EDN来编写的,因为它的语法简单且易于理解和处理。"dyn-edn"的出现,使得这些配置文件可以包含基于环境变量、系统状态或者其他动态因素的计算结果,提高了配置的动态性和可配置性。 ...

    edn_turbo:edn-ruby插件,使用基于Ragel的C ++实现替换了ruby解析器

    一些快速示例运行以比较使用edn和edn_turbo读取文件的时间输出(请参阅): irb(main):001:0&gt; require 'benchmark' =&gt; true irb(main):002:0&gt; require 'edn' =&gt; true irb(main):003:0&gt; s = "[{\"x\" {\"id\" \"/...

    edn.nim:用于Nim语言的EDN和Clojure解析器库

    `edn.nim`是为Nim语言开发的EDN解析器和生成器库,它允许Nim程序员处理EDN格式的数据。这个库提供了读取和写入EDN数据的能力,使得Nim可以方便地与Clojure生态系统进行交互。使用`edn.nim`,开发者可以轻松地将Nim...

    parseedn:Emacs Lisp的EDN解析器

    3. `README.md`:关于库的说明文档,包含安装和使用指南。 4. `.gitignore`:定义了版本控制系统应该忽略的文件或目录。 5. `LICENSE`:库的许可协议,描述了使用库的法律条件。 6. `.travis.yml`(可能包含):...

    PyPI 官网下载 | edn_format-0.5.3.tar.gz

    《PyPI官网下载 | edn_format-0.5.3.tar.gz:深入解析Python库的安装与使用》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了大量预封装的Python库,便于开发者下载和使用。本文将详细探讨PyPI...

    Eden:Elixir的EDN(可扩展数据符号)编码器

    - **edn**:EDN是一种数据表示格式,设计用于在Clojure和与之兼容的系统间交换数据,具备良好的可读性和灵活性。 - **ClojureElixir**:标签表明Eden是Clojure和Elixir之间的桥梁,帮助两个语言环境之间进行数据交换...

    EDN USB Board_小程序c_

    【标题】"EDN USB Board_小程序c_"指的是一个基于C语言编写的小程序,主要用于测试USB板的功能。这个程序可能是为了验证用户账户的上传能力,而不是一个完整的应用或项目。在电子设计领域,USB(Universal Serial ...

    clojure-deps-edn:基于deps.edn的项目的有用配置和别名的集合

    在使用`clojure-deps-edn`时,开发者只需将提供的别名集合导入到自己的`deps.edn`文件中,然后就可以像使用自定义命令一样使用这些预定义的别名,大大提高了开发效率。同时,由于`clojure-deps-edn`是开源的,开发者...

    ednsl:用于在 clojure 中使用 edn 语法创建 dsl 的 dsl

    一个使用 EDN 语法创建 DSL 的超简单库 更智能的配置 edn 很棒,它允许丰富的配置,比 json 支持更多的数据类型,但直到现在我们还不能充分利用它。 我编写了一个名为的库来试验以 edn 语法将应用程序连接在一起,...

    schism:具有EDN序列化的Clojure(脚本)中的CRDT

    这种优势提供了许多好处,而该语言没有涵盖的优点之一就是允许同时使用丰富的同步语义修改数据。 还有其他一些与此类似的工作。 Schism的目标是: 尽量减少集合数据结构之外的关注点。 为收集数据结构提供性能...

    doc-builder:使用Hiccup和EDN的数据驱动HTMLPDF文档构建器

    有关documents/sample.edn ,请参见documents/sample.edn 。 模板使用命名空间关键字以以下格式引用数据文件的内容: :data/path.to.field 关键字表示get-in路径,以提供对访问文档中嵌套字段的支持。 编译模板...

Global site tag (gtag.js) - Google Analytics