|
ActiveMQ example source code file (ActiveMQConnectionSupport.java)
The ActiveMQ ActiveMQConnectionSupport.java source code/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.activemq.ra; import javax.jms.JMSException; import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Abstract base class providing support for creating physical * connections to an ActiveMQ instance. * * */ public class ActiveMQConnectionSupport { private ActiveMQConnectionRequestInfo info = new ActiveMQConnectionRequestInfo(); protected Logger log = LoggerFactory.getLogger(getClass()); /** * Creates a factory for obtaining physical connections to an Active MQ * broker. The factory is configured with the given configuration information. * * @param connectionRequestInfo the configuration request information * @return the connection factory * @throws java.lang.IllegalArgumentException if the server URL given in the * configuration information is not a valid URL */ protected ActiveMQConnectionFactory createConnectionFactory(ActiveMQConnectionRequestInfo connectionRequestInfo) { ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(); connectionRequestInfo.configure(factory); return factory; } /** * Creates a new physical connection to an Active MQ broker identified by given * connection request information. * * @param connectionRequestInfo the connection request information identifying the broker and any * required connection parameters, e.g. username/password * @return the physical connection * @throws JMSException if the connection could not be established */ public ActiveMQConnection makeConnection(ActiveMQConnectionRequestInfo connectionRequestInfo) throws JMSException{ return makeConnection(connectionRequestInfo, createConnectionFactory(connectionRequestInfo)); } /** * Creates a new physical connection to an Active MQ broker using a given * connection factory and credentials supplied in connection request information. * * @param connectionRequestInfo the connection request information containing the credentials to use * for the connection request * @return the physical connection * @throws JMSException if the connection could not be established */ public ActiveMQConnection makeConnection( ActiveMQConnectionRequestInfo connectionRequestInfo, ActiveMQConnectionFactory connectionFactory) throws JMSException { String userName = connectionRequestInfo.getUserName(); String password = connectionRequestInfo.getPassword(); ActiveMQConnection physicalConnection = (ActiveMQConnection) connectionFactory.createConnection(userName, password); String clientId = connectionRequestInfo.getClientid(); if ( clientId != null && clientId.length() > 0 ) { physicalConnection.setClientID(clientId); } return physicalConnection; } /** * Gets the connection request information. * * @return the connection request information */ public ActiveMQConnectionRequestInfo getInfo() { return info; } /** * Sets the connection request information as a whole. * * @param connectionRequestInfo the connection request information */ protected void setInfo(ActiveMQConnectionRequestInfo connectionRequestInfo){ info = connectionRequestInfo; } protected boolean notEqual(Object o1, Object o2) { return (o1 == null ^ o2 == null) || (o1 != null && !o1.equals(o2)); } protected String emptyToNull(String value) { if (value == null || value.length() == 0) { return null; } else { return value; } } protected String defaultValue(String value, String defaultValue) { if (value != null) { return value; } return defaultValue; } // /////////////////////////////////////////////////////////////////////// // // Java Bean getters and setters for this ResourceAdapter class. // // /////////////////////////////////////////////////////////////////////// /** * @return client id */ public String getClientid() { return emptyToNull(info.getClientid()); } /** * @param clientid */ public void setClientid(String clientid) { if ( log.isDebugEnabled() ) { log.debug("setting [clientid] to: " + clientid); } info.setClientid(clientid); } /** * @return password */ public String getPassword() { return emptyToNull(info.getPassword()); } /** * @param password */ public void setPassword(String password) { if ( log.isDebugEnabled() ) { log.debug("setting [password] property"); } info.setPassword(password); } /** * @return server URL */ public String getServerUrl() { return info.getServerUrl(); } /** * @param url */ public void setServerUrl(String url) { if ( log.isDebugEnabled() ) { log.debug("setting [serverUrl] to: " + url); } info.setServerUrl(url); } /** * @return user name */ public String getUserName() { return emptyToNull(info.getUserName()); } /** * @param userid */ public void setUserName(String userid) { if ( log.isDebugEnabled() ) { log.debug("setting [userName] to: " + userid); } info.setUserName(userid); } /** * @return durable topic prefetch */ public Integer getDurableTopicPrefetch() { return info.getDurableTopicPrefetch(); } /** * @param durableTopicPrefetch */ public void setDurableTopicPrefetch(Integer durableTopicPrefetch) { if ( log.isDebugEnabled() ) { log.debug("setting [durableTopicPrefetch] to: " + durableTopicPrefetch); } info.setDurableTopicPrefetch(durableTopicPrefetch); } /** * @return initial redelivery delay */ public Long getInitialRedeliveryDelay() { return info.getInitialRedeliveryDelay(); } /** * @param value */ public void setInitialRedeliveryDelay(Long value) { if ( log.isDebugEnabled() ) { log.debug("setting [initialRedeliveryDelay] to: " + value); } info.setInitialRedeliveryDelay(value); } /** * @return initial redelivery delay */ public Long getMaximumRedeliveryDelay() { return info.getMaximumRedeliveryDelay(); } /** * @param value */ public void setMaximumRedeliveryDelay(Long value) { if ( log.isDebugEnabled() ) { log.debug("setting [maximumRedeliveryDelay] to: " + value); } info.setMaximumRedeliveryDelay(value); } /** * @return input stream prefetch */ public Integer getInputStreamPrefetch() { return info.getInputStreamPrefetch(); } /** * @param inputStreamPrefetch */ public void setInputStreamPrefetch(Integer inputStreamPrefetch) { if ( log.isDebugEnabled() ) { log.debug("setting [inputStreamPrefetch] to: " + inputStreamPrefetch); } info.setInputStreamPrefetch(inputStreamPrefetch); } /** * @return maximum redeliveries */ public Integer getMaximumRedeliveries() { return info.getMaximumRedeliveries(); } /** * @param value */ public void setMaximumRedeliveries(Integer value) { if ( log.isDebugEnabled() ) { log.debug("setting [maximumRedeliveries] to: " + value); } info.setMaximumRedeliveries(value); } /** * @return queue browser prefetch */ public Integer getQueueBrowserPrefetch() { return info.getQueueBrowserPrefetch(); } /** * @param queueBrowserPrefetch */ public void setQueueBrowserPrefetch(Integer queueBrowserPrefetch) { if ( log.isDebugEnabled() ) { log.debug("setting [queueBrowserPrefetch] to: " + queueBrowserPrefetch); } info.setQueueBrowserPrefetch(queueBrowserPrefetch); } /** * @return queue prefetch */ public Integer getQueuePrefetch() { return info.getQueuePrefetch(); } /** * @param queuePrefetch */ public void setQueuePrefetch(Integer queuePrefetch) { if ( log.isDebugEnabled() ) { log.debug("setting [queuePrefetch] to: " + queuePrefetch); } info.setQueuePrefetch(queuePrefetch); } /** * @return redelivery backoff multiplier */ public Double getRedeliveryBackOffMultiplier() { return info.getRedeliveryBackOffMultiplier(); } /** * @param value */ public void setRedeliveryBackOffMultiplier(Double value) { if ( log.isDebugEnabled() ) { log.debug("setting [redeliveryBackOffMultiplier] to: " + value); } info.setRedeliveryBackOffMultiplier(value); } /** * @return redelivery use exponential backoff */ public Boolean getRedeliveryUseExponentialBackOff() { return info.getRedeliveryUseExponentialBackOff(); } /** * @param value */ public void setRedeliveryUseExponentialBackOff(Boolean value) { if ( log.isDebugEnabled() ) { log.debug("setting [redeliveryUseExponentialBackOff] to: " + value); } info.setRedeliveryUseExponentialBackOff(value); } /** * @return topic prefetch */ public Integer getTopicPrefetch() { return info.getTopicPrefetch(); } /** * @param topicPrefetch */ public void setTopicPrefetch(Integer topicPrefetch) { if ( log.isDebugEnabled() ) { log.debug("setting [topicPrefetch] to: " + topicPrefetch); } info.setTopicPrefetch(topicPrefetch); } /** * @param i */ public void setAllPrefetchValues(Integer i) { info.setAllPrefetchValues(i); } /** * @return use inbound session enabled */ public boolean isUseInboundSessionEnabled() { return info.isUseInboundSessionEnabled(); } /** * @return use inbound session */ public Boolean getUseInboundSession() { return info.getUseInboundSession(); } /** * @param useInboundSession */ public void setUseInboundSession(Boolean useInboundSession) { if ( log.isDebugEnabled() ) { log.debug("setting [useInboundSession] to: " + useInboundSession); } info.setUseInboundSession(useInboundSession); } } Other ActiveMQ examples (source code examples)Here is a short list of links related to this ActiveMQ ActiveMQConnectionSupport.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.