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

.
声明:该博文来自热爱JAVA,热爱生活。原文地址http://maping930883.blogspot.com/

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

应用设计如下:

[img]http://dl.iteye.com/upload/attachment/0071/8802/1b324155-4f2a-3750-b0a0-0ef864ea4ce4.png[/img]

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

[img]http://dl.iteye.com/upload/attachment/0071/8804/3b82a871-8fb9-340d-ad04-dfaacf649e44.png[/img]

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进入的,就说明成功了。

[img]http://dl.iteye.com/upload/attachment/0071/8806/6d25a857-d66c-36d0-97b1-352c3652421a.png[/img]
5.启示:我们可以利用EDN批量发布事件到SOA应用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值