001package gu.simplemq.activemq;
002
003import java.util.Properties;
004
005import javax.jms.Connection;
006import javax.jms.JMSException;
007import javax.jms.Session;
008
009import org.apache.activemq.ActiveMQConnectionFactory;
010
011import gu.simplemq.MQConstProvider;
012import gu.simplemq.utils.MQPropertiesHelper;
013
014/**
015 * @author guyadong
016 *
017 */
018public class PropertiesHelper extends MQPropertiesHelper {
019        public static final PropertiesHelper AHELPER = new PropertiesHelper();
020        PropertiesHelper() {}
021        
022        @Override
023        public MQConstProvider getConstProvider() {
024                return ActivemqConstProvider.APROVIDER;
025        }       
026        @Override
027        public void checkConnect(Properties input) throws JMSException{
028                Properties props = initParameters(input);
029            ActiveMQConnectionFactory facetory = new ActiveMQConnectionFactory();
030            facetory.setProperties(props);
031            Connection con = null;
032            Session session = null;
033            try {
034                con = facetory.createConnection();
035                session = con.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
036            } finally{
037                if(session != null){
038                        session.close();
039                }
040                if(con != null){
041                                con.close();
042                }
043            }
044
045        }
046
047        @Override
048        public boolean testConnect(Properties props){
049                try {
050                        checkConnect(props);
051                        return true;
052                } catch (JMSException je) {           
053                      return false;
054                }
055        }
056}