001 /** 002 * 003 * Copyright 2004 Protique Ltd 004 * 005 * Licensed under the Apache License, Version 2.0 (the "License"); 006 * you may not use this file except in compliance with the License. 007 * You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 * 017 **/ 018 package org.activemq; 019 020 import org.activemq.message.ConsumerInfo; 021 022 import javax.jms.JMSException; 023 024 /** 025 * There is only meant to be a single durable subscription open for a given clientID and subscriber name; 026 * this exception is thrown if a user tries to subscribe twice 027 * for the same clientID and subscriber name. 028 * 029 * @version $Revision: 1.1.1.1 $ 030 */ 031 public class DuplicateDurableSubscriptionException extends JMSException { 032 033 private static final long serialVersionUID = 816340534696406442L; 034 035 private String clientID; 036 private String consumerName; 037 038 public DuplicateDurableSubscriptionException(ConsumerInfo info) { 039 super("Duplicate JMS subscription for clientID: " + info.getClientId() + " and consumer: " + info.getConsumerName(), "AMQ-1000"); 040 this.clientID = info.getClientId(); 041 this.consumerName = info.getConsumerName(); 042 } 043 044 public String getClientID() { 045 return clientID; 046 } 047 048 public String getConsumerName() { 049 return consumerName; 050 } 051 }