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

org.milyn.routing.jms.AcknowledgeModeEnum Maven / Gradle / Ivy

The newest version!
/*
 * Milyn - Copyright (C) 2006 - 2010
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License (version 2.1) as published
 * by the Free Software Foundation.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.
 *
 * See the GNU Lesser General Public License for more details:
 * http://www.gnu.org/licenses/lgpl.txt
 */
package org.milyn.routing.jms;

import javax.jms.Session;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * Enum to type-safe JMS Client Acknowledgement mode string
 * mappings to JMS Session's integers.
 *
 */
public enum AcknowledgeModeEnum
{
	CLIENT_ACKNOWLEDGE(Session.CLIENT_ACKNOWLEDGE),
	AUTO_ACKNOWLEDGE(Session.AUTO_ACKNOWLEDGE),
	DUPS_OK_ACKNOWLEDGE(Session.DUPS_OK_ACKNOWLEDGE);

	private static final Log log = LogFactory.getLog( AcknowledgeModeEnum.class ); // NOPMD by danbev on 8/03/08 09:20

	private int jmsAckModeInt;

	AcknowledgeModeEnum(final int jmsAckModeInt)
	{
		this.jmsAckModeInt = jmsAckModeInt;
	}

	public int getAcknowledgeModeInt()
	{
		return jmsAckModeInt;
	}

	static public AcknowledgeModeEnum getAckMode(final String ackMode)
	{
		if(ackMode != null)
		{
			try
			{
				return  AcknowledgeModeEnum.valueOf(ackMode); // NOPMD by danbev on 8/03/08 09:20
			}
			catch (IllegalArgumentException e)
			{
				log.debug("' " + ackMode + "' is invalid : " + ". Will use default '" + AcknowledgeModeEnum.AUTO_ACKNOWLEDGE);
			}
		}
		return AcknowledgeModeEnum.AUTO_ACKNOWLEDGE;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy