2017-05-29 1 views
0

私は全く新しいですWSO2 ESB私は正しく私のプロジェクトを "リファクタリング"する方法について次の疑問があります。シーケンスをWSO2 ESBフローに正しく挿入するにはどうすればいいですか?

私はかなりうまく動作するプロジェクトを持っています。このプロジェクトは次元的に成長しており、どのようにそれをきちんと保つのかについていくつかの疑問があります。

詳細を説明しようとします。

最初は1つの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にもシーケンス定義があります(フローがかなり大きく、別の論理セクションに分割されているため)。

かなりうまく動作します。問題は、異なるシーケンスで分割する必要がある第2のAPIを作成することです。ですから、これらの新しいシーケンスを全て私のプロジェクトの同じ\ synapse-config \ sequencesフォルダに入れることができます。しかし、私は混乱を起こしている異なるAPIに関連した同じフォルダにたくさんのシーケンスファイルを持っているので、かなり恐ろしいと思う。

新しいAPIのシーケンスファイルを別のフォルダに配置する方法はありますか?またはシナプスのconfig \シーケンス\ フォルダのサブフォルダ(のようなもの:** \シナプス-config設定\シーケンス\ myApi2 **)

私の問題は、(私が知っているから)がシーケンスを挿入することですシナプスのconfig \シーケンス \フォルダから自動的にそれを取っmySequence.xmlファイルの内容を挿入します

<sequence key="mySequence"/> 

:流れの中に私のような何かをします。

私はmySequence.xmlファイルを別のフォルダにまたはシナプスのconfig \シーケンスフォルダ\私のサブフォルダにあることを指定することはできますか?

答えて

0

シーケンスをレジストリリソースプロジェクトに移動したい場合は、シーケンスを整理する方が簡単かもしれません。そして、あなたは適切なファイル構造であなたのシーケンスを参照することができます。

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

それらの配列は、あなたのESBの設定プロジェクトの残りの部分で展開されるように、あなたの車のプロジェクトにあなたのレジストリのリソースのプロジェクトを追加することを忘れないでください。

関連する問題