QPID-7898: Address review feedback from Alex Rudyy <orudyy@apache.org>
diff --git a/client/src/main/java/org/apache/qpid/client/AMQUndefinedDestination.java b/client/src/main/java/org/apache/qpid/client/AMQUndefinedDestination.java
deleted file mode 100644
index caf54e5..0000000
--- a/client/src/main/java/org/apache/qpid/client/AMQUndefinedDestination.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *
- * 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.qpid.client;
-
-public class AMQUndefinedDestination extends AMQDestination
-{
-
- private static final String UNKNOWN_EXCHANGE_CLASS = "unknown";
- private static final long serialVersionUID = -3938019873332367947L;
-
-
- public AMQUndefinedDestination(String exchange, String routingKey, String queueName)
- {
- super(exchange, UNKNOWN_EXCHANGE_CLASS, routingKey, queueName);
- }
-
- public boolean isNameRequired()
- {
- return getAMQQueueName() == null;
- }
-
- @Override
- public boolean neverDeclare()
- {
- return true;
- }
-}
diff --git a/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java b/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
index e7e29ba..12fa91f 100644
--- a/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
+++ b/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
@@ -48,7 +48,7 @@
{
- enum PublishMode { ASYNC_PUBLISH_ALL, SYNC_PUBLISH_PERSISTENT, SYNC_PUBLISH_ALL };
+ enum PublishMode { ASYNC_PUBLISH_ALL, SYNC_PUBLISH_PERSISTENT, SYNC_PUBLISH_ALL }
private final Logger _logger ;
@@ -491,17 +491,18 @@
}
AMQDestination amqDestination = (AMQDestination) destination;
- if (!_session.isResolved(amqDestination))
+ if (_session.isResolved(amqDestination) || amqDestination.neverDeclare())
{
- try
- {
- declareDestination(amqDestination);
- }
- catch(Exception e)
- {
- throw JMSExceptionHelper.chainJMSException(new InvalidDestinationException(
- "Error validating destination"), e);
- }
+ return;
+ }
+ try
+ {
+ declareDestination(amqDestination);
+ }
+ catch(Exception e)
+ {
+ throw JMSExceptionHelper.chainJMSException(new InvalidDestinationException(
+ "Error validating destination"), e);
}
}
diff --git a/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java b/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java
index 8a9aec8..054be82 100644
--- a/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java
+++ b/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java
@@ -689,6 +689,11 @@
{
private static final long serialVersionUID = -5042408431861384536L;
+ // For Externalizable contract
+ public DefaultRouterDestination()
+ {
+ }
+
public DefaultRouterDestination(final String replyToEncoding)
{
super("",
@@ -714,6 +719,11 @@
{
private static final long serialVersionUID = 122897705932489259L;
+ // For Externalizable contract
+ public NonBURLReplyToDestination()
+ {
+ }
+
public NonBURLReplyToDestination(final String exchangeClass,
final String exchange,
final String routingKey)