2012-02-03 5 views
1

普通のJavaアプリケーションから組み込みのMule 3.2.1を使用しようとしています。アプリケーションは、ストレージスペースが限られている環境で実行されることが想定されています。
私は(簡潔にするため省略輸入、例外)のようなものを試してみました:Mule3をSpring依存性なしで組み込むことは可能ですか?

DefaultMuleContextFactory muleContextFactory = new DefaultMuleContextFactory(); 
ConfigurationBuilder configBuilder = new AutoConfigurationBuilder("mule-config.xml"); 
MuleContext muleContext = muleContextFactory.createMuleContext(configBuilder); 
muleContext.start(); 

もこの:

AutoConfigurationBuilder configBuilder = new AutoConfigurationBuilder("mule-config.xml"); 
DefaultMuleConfiguration configuration = new DefaultMuleConfiguration(); 
MuleContextBuilder contextBuilder = new DefaultMuleContextBuilder(); 
contextBuilder.setMuleConfiguration(configuration); 
MuleContext muleContext = new DefaultMuleContextFactory().createMuleContext(configbuilder, contextBuilder); 
muleContext.start(); 

が、両方は春・コア、春豆、春・コンテキストおよびいくつかのコモンズを必要としますライブラリ。どんな助けも素晴らしいだろう。

+0

私はexac t Mavenの設定。 –

答えて

0
 MuleContextFactory muleContextFactory = new DefaultMuleContextFactory(); 
     MuleContextBuilder muleContextBuilder = new DefaultMuleContextBuilder(); 
     MuleContext muleContext 
     muleContextFactory.createMuleContext(muleContextBuilder); 
     muleContext.start(); 

     // create mule client 
     MuleClient client = new MuleClient(muleContext); 
     // generate xml request 
     String reportRequestXml = createXML(reportRequest); 
     // set up message properties 
     Map<String, Object> messageProperties = new HashMap<String, Object>(); 
     messageProperties.put("Content-Type", "application/xml"); 

     // send request with timeout 
     MuleMessage response = client.send(crsRestUrl, reportRequestXml, messageProperties, httpTimeout); 

     muleContext.stop(); 
+0

これは、Muleを構成しません。つまり、フローはありません。これは、元の質問ではないと思っていたコアのMuleトランスポートを使用しているだけです。 –

2

XML設定を使用する場合は、Springが必要です。同様のライフサイクルを扱う手で

  • インスタンス化およびワイヤーミュール内部コンポーネントは、
  • ミュールDSLがリリースされるまで待ちます

    あなたが春を使用したくない場合は、あなたのオプションがあります。 mule-coreあれば、というあなただけの生のトランスポートを使用する場合は、

:)リリース日についてのバグMuleSoftにしたいことがあり、すなわち任意の流れやパターンを設定しないで、あなたは春なしでそれを行うことができますが、心の中でクマ依存関係はSpringを過渡的に持ち込まず、すべてのモジュールとトランスポートが行います。つまり、これらの依存関係を回避するためにフィルタリングを使用する必要があります。

の例では、HTTPトランスポートを使用するために、あなたはこれらのMavenの依存必要があります。これにより

<dependency> 
    <groupId>org.mule</groupId> 
    <artifactId>mule-core</artifactId> 
    <version>3.4.0</version> 
</dependency> 
<dependency> 
    <groupId>org.mule.transports</groupId> 
    <artifactId>mule-transport-http</artifactId> 
    <version>3.4.0</version> 
    <exclusions> 
     <exclusion> 
      <groupId>org.mule.modules</groupId> 
      <artifactId>mule-module-spring-config</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

代わりにあなたがしてください:それはすべてをだならば、あなたがやっていることを

MuleContextFactory muleContextFactory = new DefaultMuleContextFactory(); 
MuleContextBuilder muleContextBuilder = new DefaultMuleContextBuilder(); 
MuleContext muleContext = muleContextFactory.createMuleContext(muleContextBuilder); 
muleContext.start(); 

MuleClient client = muleContext.getClient(); 

MuleMessage response = client.request("http://www.google.com", 20000L); 
System.out.println(response.getPayloadAsString()); 

muleContext.dispose(); 
System.exit(0); 

注意をMuleであれば、Apache HTTP Clientを直接使用してください:)

+0

Davidありがとう。あなたが送ったURLは404を返すようです - 別の参照がありますか? – SorinS

+0

申し訳ありませんが、私はこれがプライベートリンクであることを認識しませんでした。 DSLはあなたのニーズに最適ですが、残念ながらまだ公開されていません。私はそれについてMuleSoftに尋ねなければならないと思う。 –

+0

Davidさん、ありがとうございました。私は行こうとすると、手作りのコンポーネントをインスタンス化しようとします。 Mulesoft github repoでのDSLの生成を楽しみにしています。 – SorinS

関連する問題