2017-01-30 9 views
2

.carファイルにパックされたカスタムクラスメディエーターをデプロイしようとしています。被験者のWSO2 documentationはあまり具体的ではなく、利用できる例はありません。CARを使用してWSO2 ESBにカスタムメディエーターをデプロイ

私がやったことは次のとおりです。その後、手動にアップロードされ.car、上記にJARパッケージ化$CARBON_HOME/repository/components/lib/

  • から.jarとして展開されている場合

    1. は、働くカスタムクラスメディエーターを、書きましたESBは管理コンソールを使用します。

    問題:サーバが仲介者のクラスを見つけることができない:

    [2017-01-30 18:12:37,810] WARN - SynapseXMLConfigurationFactory Proxy Service configuration: test cannot be built - Continue in fail-safe mode 
    org.apache.synapse.SynapseException: Error loading class : nl.my.mediators.HashMediator - Class not found 
        at org.apache.synapse.config.xml.ClassMediatorFactory.createSpecificMediator(ClassMediatorFactory.java:107) 
        at org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94) 
    ... 
    

    .carファイルが問題の.jarを含んでいます:

    Archive: mediators-v1_1_1.1.3-SNAPSHOT.car 
        Length  Date Time Name 
    --------- ---------- ----- ---- 
    ... 
         0 2017-01-30 18:07 ca-mediators_1.1.3-SNAPSHOT/ 
        5399 2017-01-30 18:07 ca-mediators_1.1.3-SNAPSHOT/ca-mediators-1.1.3-SNAPSHOT.jar 
         257 2017-01-30 18:07 ca-mediators_1.1.3-SNAPSHOT/artifact.xml 
    ... 
    

    しかし、どうやら、それが拾っていませんESBによって。 maven-car-pluginによって生成されたファイルartifact.xml(方法によって、完全にドキュメントを欠いている):

    <?xml version="1.0" encoding="UTF-8"?><artifact name="ca-mediators" version="1.1.3-SNAPSHOT" type="lib/library/bundle" serverRole="EnterpriseServiceBus"> 
        <file>ca-mediators-1.1.3-SNAPSHOT.jar</file> 
    </artifact> 
    

    がどのように私はESBは私のJAR内のクラスを拾うことができますか?

  • 答えて

    1

    この問題は、ESBの延長上WSO2 documentationで説明されています

    我々はCARファイルを介して媒介物を出荷する場合、仲介者のみで利用可能なアーティファクト(シーケンス、プロキシサービス、APIの)にアクセス可能です同じCARファイル。メディエイターは世界中で利用可能ではありません。

    溶液をさらに同じページに提案されている上:

    • クラスメディエーターを係合するシーケンス
    • パックにクラスメディエーター
    • が含まれている同じCARファイルからシーケンスを書きます他のアーティファクトからシーケンスを呼び出す

    私はそれを試してみました。

    関連する問題