2011-09-19 66 views
1

從我目前閱讀的內容來看,JMS主題是一對多的,我想知道是否可以使用主題來支持多對多。考慮一個名爲「報告」的話題,在需要發佈預定報告的企業中分佈多個服務。擁有多個發佈者可以減輕爲感興趣的應用程序訂閱每個報告服務的主題的需要。JMS主題是否可以擁有多個發佈者

注意: 我打算在我的解決方案中使用Spring和ActiveMQ。

+1

是的 - 絕對。只需製作多個MessageProducer併發布即可 – Royce

回答

2

是的,你可以從你TopicSession創建許多TopicPublisher,許多應用程序可以使用TopicPublisherTopicSubscriber連接相同Topic

1

你可以這樣做,然後撥打CreateMessageProducer在應用程序的任何地方創建一個新的生產者實例。

public ActiveMqProducer(string activeMqServiceUrl) 
    { 
     _activeMqServiceUrl = activeMqServiceUrl; 

     IConnectionFactory factory = new ConnectionFactory(new Uri(_activeMqServiceUrl)); 

     _activeMqConnection = factory.CreateConnection(); 

     _activeMqSession = _activeMqConnection.CreateSession(AcknowledgementMode.Transactional); 

     _activeMqConnection.Start(); 
    } 

    private IMessageProducer CreateMessageProducer(string mqTopicName) 
    { 
     ITopic destination = SessionUtil.GetTopic(_activeMqSession, mqTopicName); 
     var producer = _activeMqSession.CreateProducer(destination); 
     return producer; 
    } 
4

@蒙代:是的,非常有可能。一個實際的例子是由多個來源提供的實時股市價格飼料和由多個渠道消費的那些飼料。

相關問題