001package gu.simplemq.activemq;
002
003import javax.jms.Connection;
004import gu.simplemq.BaseMQPublisher;
005import gu.simplemq.IConsumerAdvisor;
006import gu.simplemq.IPublisher;
007import gu.simplemq.activemq.BaseSender.PublishSender;
008
009/**
010 * 
011 * {@link IPublisher} ACTIVEMQ实现
012 * @author guyadong
013 *
014 */
015public class ActivemqPublisher extends BaseMQPublisher<Connection> implements ActivemqConstants{
016        private final PublishSender sender;
017        private final AdvisoryMessageManager advisoryMessageManager;
018        public ActivemqPublisher(ActivemqPoolLazy poolLazy) {
019                super(poolLazy);
020                this.advisoryMessageManager = AdvisoryMessageManager.instanceOf(poolLazy);
021                sender = new PublishSender(advisoryMessageManager);
022        }
023        @Override
024        protected void doSend(Connection c, String channel, Iterable<String> messages) throws Exception {
025                sender.doSend(c, channel, messages);            
026        }
027        @Override
028        public IConsumerAdvisor getConsumerAdvisor() {
029                return advisoryMessageManager;
030        }
031}