package com.ctrip.framework.apollo.tracer.internals; import com.ctrip.framework.apollo.core.utils.ClassLoaderUtil; import com.ctrip.framework.apollo.tracer.internals.cat.CatMessageProducer; import com.ctrip.framework.apollo.tracer.internals.cat.CatNames; import com.ctrip.framework.apollo.tracer.spi.MessageProducer; import com.ctrip.framework.apollo.tracer.spi.MessageProducerManager; /** * @author Jason Song(song_s@ctrip.com) */ public class DefaultMessageProducerManager implements MessageProducerManager { private static MessageProducer producer; public DefaultMessageProducerManager() { if (ClassLoaderUtil.isClassPresent(CatNames.CAT_CLASS)) { producer = new CatMessageProducer(); } else { producer = new NullMessageProducerManager().getProducer(); } } @Override public MessageProducer getProducer() { return producer; } }