2017-10-28 11 views
0

必要なwso2 esbシーケンスで使用されているパラメータが、開発環境とは異なる環境であるとします。 シェフ、パペット、またはアシスタントが管理するファイルシステム設定ファイルでこれを管理しています。 WSO2では、情報がデータベースに保存されていて、レジストリ設定を管理できないため、環境依存の値を格納するユーザーレジストリを使用できないと思います。 WSO2 ESBのこの状況をどのように解決するために使用しますか?事前にwso2 esbの環境依存値最適なオプション

おかげでシステム変数を使用しているこれを解決する

答えて

0

一つの方法。 ESBメディエーション・フローのproxy/sequences/api構成内のスクリプト・メディエータからシステム変数にアクセスできます。

<script language="js">mc.setProperty("file.separator",java.lang.System.getProperty("file.separator"));</script> 
<log level="custom"> 
    <property name="file.separator" expression="get-property('file.separator')"/> 
</log> 

ここで、 "file.separator"はシステムプロパティから読み込まれ、メッセージコンテキストに設定されます。その後、他の後続のメディエーターで使用することができます。

-Dsystem.property.name=system.property.value 

を次のようにあなたがwso2server.shファイルにこれらを配置したり、サーバの起動時にコマンドライン引数としてそれらを与えることができ、サーバの起動時にシステムプロパティを与えることができます。

0

私もこれに興味があります。私はある程度のハックを無事に管理しています。私はいくつかの変数を含む "デフォルトの"レジストリプロジェクトを持っています。私はそれを抽出し、変数を各環境の実際の値に置き換えることができます。あなたが多くの変数を必要としなければ、それは難しいことですが、作業しています。

- name: "Extract Regitry project to temp folder" 
    unarchive: 
    src: "/tmp/{{ registry.name }}_{{ registry.version }}.car" 
    dest: "/tmp/{{ registry.name }}_{{ registry.version }}" 
    remote_src: yes 

- name: "Set Sample Host" 
    copy: 
    content: "sample.api.url" 
    dest: "/tmp/{{ registry.name }}_{{ registry.version }}/sample_host_{{ registry.version }}/resources/sample_host" 
    no_log: true 

- name: "Set Sample Password" 
    copy: 
    content: "{{ wso2.api.pwd }}" 
    dest: "/tmp/{{ registry.name }}_{{ registry.version }}/sample_api_pwd_{{ registry.version }}/resources/sample_api_pwd" 
    no_log: true 

- name: "Package registry project" 
    archive: 
    path: 
     - "/tmp/{{ registry.name }}_{{ registry.version }}/*" 
     - "/tmp/{{ registry.name }}_{{ registry.version }}/*.xml" 
    dest: "{{ wso2ei_path }}/repository/deployment/server/carbonapps/{{ registry.name }}.car" 
    format: zip 
    owner: "{{ wso2_user }}" 

あなたがより良いアプローチを持っている場合は、私は同様に適応したいと思います:)

0

私の経験に基づいて私はWSO2 ESBと領事(https://www.consul.io/)を統合推薦します。総領事は、インフラストラクチャにおける登録、構成および発見サービスを許可します。基本的にWSO2 ESBはREST apis Consulを使用してエンドポイントを取得できます。

関連する問題