0

Spring.NETを使用して、アプリケーションの起動時にメッセージリスナーを作成していました。今、0-nリスナーを作成する機能が必要です。リスナーの中には、異なるキューをリッスンしているものもあります。実行時にそれらを作成/破棄できる必要があります。これを行うための最良の方法は何でしょうか?以前の春の構成は次のようなものでした。

<objects xmlns="http://www.springframework.net">

  <object id='inputQueue' type='Spring.Messaging.Support.MessageQueueFactoryObject, Spring.Messaging'>
    <property name='Path' value='.\Private$\inputQueue'/>
  </object>

  <!-- MSMQ Transaction Manager -->
  <object id="messageQueueTransactionManager" type="Spring.Messaging.Core.MessageQueueTransactionManager, Spring.Messaging"/>

  <!-- Message Listener Container that uses MSMQ transactional for receives -->
  <object id="transactionalMessageListenerContainer" type="Spring.Messaging.Listener.TransactionalMessageListenerContainer, Spring.Messaging">
    <property name="MessageQueueObjectName" value="inputQueue"/>
    <property name="PlatformTransactionManager" ref="messageQueueTransactionManager"/>
    <property name="MaxConcurrentListeners" value="10"/>
    <property name="MessageListener" ref="messageListenerAdapter"/>
  </object>

  <!-- Adapter to call a PONO as a messaging callback -->
  <object id="messageListenerAdapter" type="Spring.Messaging.Listener.MessageListenerAdapter, Spring.Messaging">
    <property name="HandlerObject" ref="messageListener"/>
  </object>

  <!-- The PONO class that you write -->
  <object id="messageListener" type="Com.MyCompany.Listener, Com.MyCompany">
    <property name="Container" ref="transactionalMessageListenerContainer"/>
  </object>   

</objects>

新しいリスナーが必要になるたびに、このファイルが実行していることをプログラムで実行する必要がありますか?これにSpring.NETのメッセージングフレームワークを使用するべきではありませんか?

4

1 に答える 1

1

すでに述べたように、Spring.NET を慎重に使用している場合 (つまり、メッセージング、ADO.NET ヘルパーなど)、プログラムで使用します。そして、新しいグラフを既存のコンテナーに追加します。このようにして、Spring.NET は引き続きライフサイクルを管理します。

于 2008-09-22T20:20:56.953 に答える