
gu.simplemq.activemq.ActivemqRuntimeContext Maven / Gradle / Ivy
package gu.simplemq.activemq;
import java.util.Properties;
import javax.jms.JMSException;
import javax.jms.Message;
import org.apache.activemq.command.ActiveMQMessage;
import org.apache.activemq.pool.PooledConnectionFactory;
import gu.simplemq.BaseMQContext;
import gu.simplemq.IMessageQueueFactory;
import gu.simplemq.MQPropertiesHelper;
import gu.simplemq.MessageQueueType;
import gu.simplemq.jms.MessageQueueFactoryImpl;
import gu.simplemq.jms.JmsRuntimeContext;
class ActivemqRuntimeContext extends BaseMQContext implements JmsRuntimeContext {
static final ActivemqRuntimeContext ACTIVEMQ_CONTEXT = new ActivemqRuntimeContext();
private final ActivemqPropertiesHelper protonHelper;
private final MessageQueueFactoryImpl factory;
public ActivemqRuntimeContext() {
super(MessageQueueType.ACTIVEMQ, "AMQP");
protonHelper = new ActivemqPropertiesHelper(this);
factory = new MessageQueueFactoryImpl(this);
}
@Override
public MQPropertiesHelper getPropertiesHelper() {
return protonHelper;
}
@Override
public IMessageQueueFactory getMessageQueueFactory(){
return factory;
}
@Override
public PooledConnectionFactory createPooledConnectionFactory(Properties properties) {
PooledConnectionFactory pool = new PooledConnectionFactory();
pool.setProperties(properties);
return pool;
}
@Override
public String destNameOf(Message message) throws JMSException {
ActiveMQMessage am = (ActiveMQMessage) message;
return am.getDestination().getPhysicalName();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy