All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.frameworkset.camel.CMQComponent Maven / Gradle / Ivy

The newest version!
package org.frameworkset.camel;

import javax.jms.ConnectionFactory;

import org.apache.activemq.camel.component.ActiveMQComponent;
import org.apache.activemq.camel.component.ActiveMQConfiguration;
import org.apache.camel.CamelContext;
import org.apache.camel.util.ObjectHelper;

public class CMQComponent extends ActiveMQComponent {
	private CMQEndpointLoader endpointLoader;

	public CMQComponent(ActiveMQConfiguration configuration) {
		super(configuration);
		// TODO Auto-generated constructor stub
	}

	public CMQComponent(CamelContext context) {
		super(context);
		// TODO Auto-generated constructor stub
	}

	// private CamelEndpointLoader endpointLoader;
	public CMQComponent() {
		super();
	}

	public static CMQComponent cmqComponent() {
		return new CMQComponent();
	}

	/**
	 * Creates an ActiveMQ
	 * Component connecting to the given broker
	 * URL
	 * 
	 * @param brokerURL
	 *            the URL to connect to
	 * @return the created component
	 */
	public static CMQComponent cmqComponent(ConnectionFactory connectionFactory) {
		CMQComponent answer = new CMQComponent();
		if (answer.getConfiguration() instanceof ActiveMQConfiguration) {
			((ActiveMQConfiguration) answer.getConfiguration())
					.setConnectionFactory(connectionFactory);
		}
		return answer;
	}

	@Override
	protected void doStart() throws Exception {
		ObjectHelper.notNull(getCamelContext(), "camelContext");
		if (isExposeAllQueues()) {
			endpointLoader = new CMQEndpointLoader(getCamelContext());
			endpointLoader.afterPropertiesSet();
		}
	}

	@Override
	protected void doStop() throws Exception {
		if (endpointLoader != null) {
			endpointLoader.destroy();
			endpointLoader = null;
		}
		super.doStop();
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy