0

我正在尝试从 WSO2 DAS 升级到 SP;这涉及使用 Siddhi SQL 脚本重写事件流定义。

我的目标是所有更改都被限制在 Siddhi SQL 脚本中(因此在 SP 中)。

我在微服务上下文中使用 DAS 作为简单的“消息代理”。

如图所示:

在此处输入图像描述

共有三 (3) 个微服务:A、B、C;服务 A 调用服务 B 和 C。

服务 A 向 wso2 数据代理发出“wso2event”;

事件由 DAS 中的接收器 (type="wso2event") 接收;

两(2)个发布者(eventAdapterType="soap")被用来形成两个SOAP消息并分别发布到服务B和C

以下是我的工件定义:

溪流:

{
  "name": "ip3c",
  "version": "1.0.0",
  "nickName": "ip3c.receiverservice.senderservice.follow",
  "description": "follow event from receiver to sender and userevent",
  "metaData": [
    {
      "name": "sender",
      "type": "STRING"
    }
  ],
  "correlationData": [
    {
      "name": "host",
      "type": "STRING"
    }
  ],
  "payloadData": [
    {
      "name": "message",
      "type": "STRING"
    }
  ]
}

接收者:

<?xml version="1.0" encoding="UTF-8"?>
<!-- gbb2.receiverservice.follow -->
<eventReceiver name="gbb2" statistics="disable"
               trace="disable" xmlns="http://wso2.org/carbon/eventreceiver">
    <from eventAdapterType="wso2event">
        <property name="receiving.events.duplicated.in.cluster">false</property>
    </from>
    <mapping customMapping="disable" type="wso2event"/>
    <to streamName="ip3c" version="1.0.0"/>
</eventReceiver>

出版商 1:

<?xml version="1.0" encoding="UTF-8"?>
<!-- pnbu.senderservice.follow -->
<eventPublisher name="pnbu" statistics="disable"
                trace="disable" xmlns="http://wso2.org/carbon/eventpublisher">
    <from streamName="ip3c" version="1.0.0"/>
    <mapping customMapping="enable" type="xml">
        <inline>
            <sen:follow  xmlns:sen="http://gubnoi.com/SenderService/">
                <sender>{{meta_sender}}</sender>
                <host>{{correlation_host}}</host>
                <message>{{message}}</message>
            </sen:follow>
        </inline>
    </mapping>   
    <to eventAdapterType="soap">
        <property name="soapHeaders">SOAPAction: http://gubnoi.com/SenderService/follow</property>
        <property name="url">http://sender.gubnoi.com:10102/services/SenderService/</property>
    </to>
</eventPublisher>

出版商 2:

<?xml version="1.0" encoding="UTF-8"?>
<!-- tvzh.userevent.receiverfollow -->
<eventPublisher name="tvzh" statistics="disable"
                trace="disable" xmlns="http://wso2.org/carbon/eventpublisher">
    <from streamName="ip3c" version="1.0.0"/>
    <mapping customMapping="enable" type="xml">
        <inline>
            <use:save xmlns:use="http://gubnoi.com/UserEvents/">
                <title>u5khurw3</title>
                <obj>{{meta_sender}}</obj>
                <host>{{correlation_host}}</host>
                <bucket>{{message}}</bucket>
            </use:save>
        </inline>
    </mapping>   
    <to eventAdapterType="soap">
        <property name="soapHeaders">SOAPAction: http://gubnoi.com/UserEvents/save</property>
        <property name="url">http://userevents.gubnoi.com:10304/services/UserEvents/</property>
    </to>
</eventPublisher>

我四处寻找,找不到任何有用的例子。

任何人都可以请提供任何帮助

谢谢

4

1 回答 1

0

WSO2 流处理器有一个关于从以前版本升级的文档。您可以参考文档从您的流、接收器和发布者创建 siddhi 工件。

于 2018-06-21T06:05:11.413 回答