【发布时间】:2017-05-30 23:55:46
【问题描述】:
我是 WSO2 ESB 的新手,我对如何正确“重构”我的项目有以下疑问。
我有一个运行良好的项目。这个项目的规模越来越大,我对如何保持整洁有些怀疑。
它试图详细说明情况。
一开始我只有一个 API。 API 流程非常复杂,因此我将其拆分为多个序列。
所以我有一个主 API 文件,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<api context="/MY_API_1" name="MY_API_1" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="GET" uri-template="/{sampleId}">
<inSequence>
<property expression="get-property('uri.var.sampleId')" name="samplePK" scope="default" type="STRING"/>
<log level="custom">
<property expression="$ctx:samplePK" name="SAMPLE ID (PK)"/>
</log>
<!-- DO SOME OPERATIONS -->
<!-- GO TO THE CODE DEFINED INTO THE sampleDataSequence -->
<sequence key="sampleDataSequence"/>
<!-- DO SOME OTHER OPERATION THAT QUIT THE "MY_API_1" API FLOW -->
</inSequence>
<outSequence>
<send/>
</outSequence>
<faultSequence/>
</resource>
</api>
正如您在前面的代码中看到的,我指定在某个点流定义被定义到 sampleDataSequence 序列中,即这个文件 \glis-toolkit\glis -toolkit\src\main\synapse-config\sequences\sampleDataSequence.xml(所以它被定义到我项目的 sequences 文件夹中)。
在sampleDataSequence.xml中也有一些序列定义(因为我的流程很大,我把它分成不同的逻辑部分)。
它工作得很好。问题是现在我正在创建第二个 API,必须将其拆分为不同的序列。所以我知道我可以将所有这些新序列放入我项目的同一个 \synapse-config\sequences 文件夹中。但我认为这很可怕,因为我会将很多序列文件放入同一个文件夹中,这些文件与不同的 API 相关,会产生混淆。
有没有办法将新 API 的序列文件放到不同的文件夹中?或 \synapse-config\sequences 文件夹的子文件夹(类似于:**\synapse-config\sequences\myApi2**)
我的问题是(据我所知)将序列插入流中,我会执行以下操作:
<sequence key="mySequence"/>
这将插入 mySequence.xml 文件内容,自动从 \synapse-config\sequences 文件夹中获取。
我可以将 mySequence.xml 文件指定到另一个文件夹或我的 \synapse-config\sequences 文件夹的子文件夹中吗?
【问题讨论】:
标签: java wso2 wso2esb esb wso2carbon