Access Keys:
Skip to content (Access Key - 0)

Picoコンテナ・サポートのユーザ・ガイド

ESB Mule PicoContainer拡張は、ESB MuleでPicoContainer及びNanocontainerを使えるようにします。

Picoコンポーネント解析

本拡張機能は、ESB Muleが管理するオブジェクトをPicoコンテナが生成できるようにします。ESB MuleからPicoコンテナを利用できるようにするには、ESB Mule設定にのModelに、Component Resolver(コンポーネント解析)を定義します。
例:

<model name="muleModel">
    <component-resolver name="pico" className="org.mule.extras.picocontainer.PicoComponentResolver">
        <properties>
            <property name="configFile" value="../conf/pico-container-config.xml"/>
        </properties>
    </component-resolver>
    ...
</model>

PicoComponentResolverには「configFile」プロパティのみを設定することができます。このプロパティには、コンマ「,」で区切った1つ以上のファイル・システム上のファイル及びクラス・パスのリソースを設定することができます。システム・ファイル及びクラスパスの両方が設定された場合は、クラスパスから検索されます。
リゾーバを設定すると、設定でコンポーネントのimplementation属性をComponentキーに設定することで、Picoが管理しているオブジェクトをESB Muleコンポーネントとして使うことができます。
例:

<mule-descriptor name="myMuleComponent"
    inboundEndpoint="jms://order.queue"
    inboundTransformer="JMSMessageToObject"
    implementation="myPicoComponent">
</mule-descriptor>

Picoコンポーネント・プール

他の事と同じようにESB Muleでのコンポーネント・プーリングをプラグインすることができます。ESB Muleはコンポーネントをプールするのに、デフォルトでJakarta commons poolを使いますが、Pico Pool等に置き換えることが可能です。コンポーネント・プーリングにPicoを利用する場合はプールをモデル(Model)で指定します:

<model name="muleModel">
    <component-pool-factory className="org.mule.extras.picocontainer.PicoPoolFactory"/>
    ...
</model>

デフォルト・プールをPicoプールに置き換える利点はありません。ただし、ESB Muleのプールを置き換える方法を勉強するには良い機会だと思います。

Adaptavist Theme Builder (3.3.2-conf2.10) Powered by Atlassian Confluence 2.10, the Enterprise Wiki.
Free theme builder license