msmq
2008-09-22 199 views 0 likes 
0

我在使用Spring.NET在应用程序启动时创建消息监听器。我现在需要能够创建0到n个侦听器,其中一些侦听器可能正在侦听不同的队列。我需要能够在运行时创建/销毁它们。这样做最好的方法是什么?我以前的弹簧配置是这样的:什么是动态创建MSMQ监听器的最佳方式?

<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的消息框架吗?

回答

1

如果我已经明确地使用了Spring.NET(即消息传递,ADO.NET助手等),我会以编程的方式进行操作。然后将新图添加到我现有的容器中。这样Spring.NET仍然为我管理生命周期。

相关问题