2017-05-29 47 views
0

我是绝对新的WSO2 ESB我对如何正确“重构”我的项目有以下疑问。如何正确地将序列插入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(所以它被定义为序列文件夹在我的项目中)。

反过来也进入sampleDataSequence.xml有一些序列定义(因为我的流量很大,我把它分成不同的逻辑部分)。

它工作得很好。问题是,现在我正在创建第二个API,必须按不同的顺序进行分割。所以我知道我可以将所有这些新序列放入我的项目的相同\ synapse-config \ sequences文件夹中。但我认为这非常可怕,因为我将很多序列文件放入相关的不同API中产生混淆的相同文件夹中。

有一种方法可以将新API的序列文件放到不同的文件夹中吗?或者\ synapse-config \ sequences文件夹(例如:** \ synapse-config \ sequences \ myApi2 **)的子文件夹

我的问题是(据我所知)插入序列到流我做这样的事情:

<sequence key="mySequence"/> 

,将插入mySequence.xml文件内容从自动把它\突触配置\序列文件夹。

我可以指定mySequence.xml文件到另一个文件夹或我的的\突触配置\序列文件夹的子文件夹?

回答

0

如果您希望将它们移动到注册表资源项目,可能会更容易组织您的序列。然后,你可以参考你的序列中相应的文件结构:

<sequence key="gov:/sequences/myApi2/mySequence"/> 

不要忘了你的注册表资源项目添加到您的汽车项目,让那些序列部署您的ESB配置项目的其余部分。