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}