You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/02/14 11:52:51 UTC
svn commit: r1568235 [6/6] - in /qpid/trunk/qpid/java:
amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/transport/
bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/
bdbstore/jmx/src/test/java/org/apache/qpid/server/store/ber...
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0_SASL.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0_SASL.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0_SASL.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ProtocolEngine_1_0_0_SASL.java Fri Feb 14 10:52:47 2014
@@ -20,6 +20,7 @@
*/
package org.apache.qpid.server.protocol.v1_0;
+import java.io.IOException;
import java.io.PrintWriter;
import java.net.SocketAddress;
import java.nio.ByteBuffer;
@@ -40,8 +41,11 @@ import org.apache.qpid.amqp_1_0.transpor
import org.apache.qpid.amqp_1_0.transport.Container;
import org.apache.qpid.amqp_1_0.transport.FrameOutputHandler;
import org.apache.qpid.amqp_1_0.type.Binary;
+import org.apache.qpid.amqp_1_0.type.ErrorCondition;
import org.apache.qpid.amqp_1_0.type.FrameBody;
import org.apache.qpid.amqp_1_0.type.Symbol;
+import org.apache.qpid.amqp_1_0.type.transport.*;
+import org.apache.qpid.amqp_1_0.type.transport.Error;
import org.apache.qpid.common.QpidProperties;
import org.apache.qpid.common.ServerPropertyNames;
import org.apache.qpid.protocol.ServerProtocolEngine;
@@ -51,12 +55,16 @@ import org.apache.qpid.server.model.Tran
import org.apache.qpid.server.protocol.v1_0.Connection_1_0;
import org.apache.qpid.server.security.SubjectCreator;
import org.apache.qpid.server.security.auth.UsernamePrincipal;
+import org.apache.qpid.server.util.ServerScopedRuntimeException;
import org.apache.qpid.server.virtualhost.VirtualHost;
import org.apache.qpid.transport.Sender;
import org.apache.qpid.transport.network.NetworkConnection;
public class ProtocolEngine_1_0_0_SASL implements ServerProtocolEngine, FrameOutputHandler
{
+ private static final org.apache.log4j.Logger
+ _logger = org.apache.log4j.Logger.getLogger(ProtocolEngine_1_0_0_SASL.class);
+
private final Port _port;
private final Transport _transport;
private long _readBytes;
@@ -353,9 +361,35 @@ public class ProtocolEngine_1_0_0_SASL i
}
- public void exception(Throwable t)
+ public void exception(Throwable throwable)
{
- t.printStackTrace();
+ if (throwable instanceof IOException)
+ {
+ _logger.info("IOException caught in " + this + ", connection closed implicitly: " + throwable);
+ }
+ else
+ {
+
+ try
+ {
+ final Error err = new Error();
+ err.setCondition(AmqpError.INTERNAL_ERROR);
+ err.setDescription(throwable.getMessage());
+ _conn.close(err);
+ close();
+ }
+ finally
+ {
+ if(throwable instanceof java.lang.Error)
+ {
+ throw (java.lang.Error) throwable;
+ }
+ if(throwable instanceof ServerScopedRuntimeException)
+ {
+ throw (ServerScopedRuntimeException) throwable;
+ }
+ }
+ }
}
public void closed()
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/QueueDestination.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/QueueDestination.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/QueueDestination.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/QueueDestination.java Fri Feb 14 10:52:47 2014
@@ -49,37 +49,22 @@ public class QueueDestination extends Me
public Outcome send(final Message_1_0 message, ServerTransaction txn)
{
- try
+ txn.enqueue(getQueue(),message, new ServerTransaction.Action()
{
- txn.enqueue(getQueue(),message, new ServerTransaction.Action()
+
+
+ public void postCommit()
{
+ getQueue().enqueue(message,null);
+ }
+
+ public void onRollback()
+ {
+ // NO-OP
+ }
+ });
- public void postCommit()
- {
- try
- {
- getQueue().enqueue(message,null);
- }
- catch (Exception e)
- {
- // TODO
- throw new RuntimeException(e);
- }
-
- }
-
- public void onRollback()
- {
- // NO-OP
- }
- });
- }
- catch(Exception e)
- {
- _logger.error("Send error", e);
- throw new RuntimeException(e);
- }
return ACCEPTED;
}
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java Fri Feb 14 10:52:47 2014
@@ -30,8 +30,6 @@ import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.log4j.Logger;
-import org.apache.qpid.AMQException;
-import org.apache.qpid.AMQInternalException;
import org.apache.qpid.server.security.QpidSecurityException;
import org.apache.qpid.amqp_1_0.transport.DeliveryStateHandler;
import org.apache.qpid.amqp_1_0.transport.LinkEndpoint;
@@ -64,7 +62,9 @@ import org.apache.qpid.server.consumer.C
import org.apache.qpid.server.txn.AutoCommitTransaction;
import org.apache.qpid.server.txn.ServerTransaction;
import org.apache.qpid.server.util.Action;
+import org.apache.qpid.server.util.ConnectionScopedRuntimeException;
import org.apache.qpid.server.virtualhost.VirtualHost;
+import org.apache.qpid.server.virtualhost.QueueExistsException;
public class SendingLink_1_0 implements SendingLinkListener, Link_1_0, DeliveryStateHandler
{
@@ -324,11 +324,6 @@ public class SendingLink_1_0 implements
{
_vhost.removeQueue(tempQueue);
}
- catch (AMQException e)
- {
- //TODO
- _logger.error("Error removing queue", e);
- }
catch (QpidSecurityException e)
{
//TODO
@@ -356,17 +351,12 @@ public class SendingLink_1_0 implements
catch (QpidSecurityException e)
{
_logger.error("Security error", e);
- throw new RuntimeException(e);
- }
- catch (AMQInternalException e)
- {
- _logger.error("Internal error", e);
- throw new RuntimeException(e);
+ throw new ConnectionScopedRuntimeException(e);
}
- catch (AMQException e)
+ catch (QueueExistsException e)
{
- _logger.error("Error", e);
- throw new RuntimeException(e);
+ _logger.error("A randomly generated temporary queue name collided with an existing queue",e);
+ throw new ConnectionScopedRuntimeException(e);
}
@@ -377,7 +367,7 @@ public class SendingLink_1_0 implements
}
else
{
- throw new RuntimeException("Unknown destination type");
+ throw new ConnectionScopedRuntimeException("Unknown destination type");
}
if(_target != null)
@@ -403,15 +393,21 @@ public class SendingLink_1_0 implements
messageFilter == null ? null : new SimpleFilterManager(messageFilter),
Message_1_0.class, name, options);
}
- catch (AMQException e)
+ catch (QpidSecurityException e)
{
//TODO
- _logger.error("Error registering subscription", e);
+ _logger.info("Error registering subscription", e);
+ throw new ConnectionScopedRuntimeException(e);
}
- catch (QpidSecurityException e)
+ catch (MessageSource.ExistingExclusiveConsumer e)
{
- //TODO
- _logger.error("Error registering subscription", e);
+ _logger.info("Cannot add a consumer to the destination as there is already an exclusive consumer");
+ throw new ConnectionScopedRuntimeException(e);
+ }
+ catch (MessageSource.ExistingConsumerPreventsExclusive e)
+ {
+ _logger.info("Cannot add an exclusive consumer to the destination as there is already a consumer");
+ throw new ConnectionScopedRuntimeException(e);
}
}
@@ -429,18 +425,7 @@ public class SendingLink_1_0 implements
// if not durable or close
if(!TerminusDurability.UNSETTLED_STATE.equals(_durability))
{
-
- try
- {
-
- _consumer.close();
-
- }
- catch (AMQException e)
- {
- //TODO
- _logger.error("Error unregistering subscription", e);
- }
+ _consumer.close();
Modified state = new Modified();
state.setDeliveryFailed(true);
@@ -462,11 +447,6 @@ public class SendingLink_1_0 implements
{
_vhost.removeQueue((AMQQueue)_queue);
}
- catch(AMQException e)
- {
- //TODO
- _logger.error("Error registering subscription", e);
- }
catch (QpidSecurityException e)
{
//TODO
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java Fri Feb 14 10:52:47 2014
@@ -36,7 +36,6 @@ import org.apache.qpid.amqp_1_0.type.tra
import org.apache.qpid.amqp_1_0.type.transport.*;
import org.apache.qpid.amqp_1_0.type.transport.Error;
-import org.apache.qpid.AMQException;
import org.apache.qpid.server.security.QpidSecurityException;
import org.apache.qpid.protocol.AMQConstant;
import org.apache.qpid.server.exchange.Exchange;
@@ -51,7 +50,9 @@ import org.apache.qpid.server.queue.AMQQ
import org.apache.qpid.server.txn.AutoCommitTransaction;
import org.apache.qpid.server.txn.ServerTransaction;
import org.apache.qpid.server.util.Action;
+import org.apache.qpid.server.util.ConnectionScopedRuntimeException;
import org.apache.qpid.server.virtualhost.VirtualHost;
+import org.apache.qpid.server.virtualhost.QueueExistsException;
import java.util.*;
@@ -357,11 +358,6 @@ public class Session_1_0 implements Sess
{
_vhost.removeQueue(tempQueue);
}
- catch (AMQException e)
- {
- //TODO
- _logger.error("Error removing queue from vhost", e);
- }
catch (QpidSecurityException e)
{
//TODO
@@ -399,12 +395,13 @@ public class Session_1_0 implements Sess
catch (QpidSecurityException e)
{
//TODO
- _logger.error("Security error", e);
+ _logger.info("Security error", e);
+ throw new ConnectionScopedRuntimeException(e);
}
- catch (AMQException e)
+ catch (QueueExistsException e)
{
- //TODO
- _logger.error("Error", e);
+ _logger.error("A temporary queue was created with a name which collided with an existing queue name");
+ throw new ConnectionScopedRuntimeException(e);
}
return queue;
@@ -490,14 +487,14 @@ public class Session_1_0 implements Sess
}
@Override
- public void close() throws AMQException
+ public void close()
{
// TODO - required for AMQSessionModel / management initiated closing
}
@Override
- public void close(AMQConstant cause, String message) throws AMQException
+ public void close(AMQConstant cause, String message)
{
// TODO - required for AMQSessionModel
}
@@ -509,7 +506,7 @@ public class Session_1_0 implements Sess
}
@Override
- public void checkTransactionStatus(long openWarn, long openClose, long idleWarn, long idleClose) throws AMQException
+ public void checkTransactionStatus(long openWarn, long openClose, long idleWarn, long idleClose)
{
// TODO - required for AMQSessionModel / long running transaction detection
}
Modified: qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java Fri Feb 14 10:52:47 2014
@@ -40,6 +40,7 @@ import org.apache.qpid.server.store.Even
import org.apache.qpid.server.store.EventListener;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.store.MessageStoreConstants;
+import org.apache.qpid.server.util.ServerScopedRuntimeException;
import org.apache.qpid.util.FileUtils;
/**
@@ -99,7 +100,7 @@ public class DerbyMessageStore extends A
return "bigint";
}
- protected void doClose() throws SQLException
+ protected void doClose()
{
try
{
@@ -117,7 +118,7 @@ public class DerbyMessageStore extends A
else
{
getLogger().error("Exception whilst shutting down the store: " + e);
- throw e;
+ throw new ServerScopedRuntimeException("Error closing message store", e);
}
}
}
@@ -307,7 +308,7 @@ public class DerbyMessageStore extends A
catch (SQLException e)
{
closeConnection(conn);
- throw new RuntimeException("Exception while processing store size change", e);
+ throw new ServerScopedRuntimeException("Exception while processing store size change", e);
}
}
}
@@ -359,7 +360,7 @@ public class DerbyMessageStore extends A
catch (SQLException e)
{
closeConnection(conn);
- throw new RuntimeException("Error reducing on disk size", e);
+ throw new ServerScopedRuntimeException("Error reducing on disk size", e);
}
finally
{
@@ -407,7 +408,7 @@ public class DerbyMessageStore extends A
catch (SQLException e)
{
closeConnection(conn);
- throw new RuntimeException("Error establishing on disk size", e);
+ throw new ServerScopedRuntimeException("Error establishing on disk size", e);
}
finally
{
Modified: qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java Fri Feb 14 10:52:47 2014
@@ -30,13 +30,13 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;
import org.apache.log4j.Logger;
-import org.apache.qpid.AMQStoreException;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.plugin.JDBCConnectionProviderFactory;
import org.apache.qpid.server.store.AbstractJDBCMessageStore;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.store.StoreFuture;
import org.apache.qpid.server.store.Transaction;
+import org.apache.qpid.server.util.ServerScopedRuntimeException;
/**
* An implementation of a {@link org.apache.qpid.server.store.MessageStore} that uses a JDBC database as the persistence
@@ -252,7 +252,7 @@ public class JDBCMessageStore extends Ab
}
@Override
- protected void doClose() throws AMQStoreException
+ protected void doClose()
{
while(!_transactions.isEmpty())
{
@@ -265,7 +265,7 @@ public class JDBCMessageStore extends Ab
}
catch (SQLException e)
{
- throw new AMQStoreException("Unable to close connection provider ", e);
+ throw new ServerScopedRuntimeException("Unable to close connection provider ", e);
}
}
@@ -430,7 +430,7 @@ public class JDBCMessageStore extends Ab
}
@Override
- public void commitTran() throws AMQStoreException
+ public void commitTran()
{
try
{
@@ -443,7 +443,7 @@ public class JDBCMessageStore extends Ab
}
@Override
- public StoreFuture commitTranAsync() throws AMQStoreException
+ public StoreFuture commitTranAsync()
{
try
{
@@ -456,7 +456,7 @@ public class JDBCMessageStore extends Ab
}
@Override
- public void abortTran() throws AMQStoreException
+ public void abortTran()
{
try
{
Modified: qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java Fri Feb 14 10:52:47 2014
@@ -20,7 +20,6 @@
*/
package org.apache.qpid.server.management.amqp;
-import org.apache.qpid.AMQException;
import org.apache.qpid.server.security.QpidSecurityException;
import org.apache.qpid.server.consumer.Consumer;
import org.apache.qpid.server.consumer.ConsumerTarget;
@@ -940,7 +939,7 @@ class ManagementNode implements MessageS
final FilterManager filters,
final Class<? extends ServerMessage> messageClass,
final String consumerName,
- final EnumSet<Consumer.Option> options) throws AMQException
+ final EnumSet<Consumer.Option> options)
{
final ManagementNodeConsumer managementNodeConsumer = new ManagementNodeConsumer(consumerName,this, target);
Modified: qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java Fri Feb 14 10:52:47 2014
@@ -20,7 +20,6 @@
*/
package org.apache.qpid.server.management.amqp;
-import org.apache.qpid.AMQException;
import org.apache.qpid.server.consumer.Consumer;
import org.apache.qpid.server.consumer.ConsumerTarget;
import org.apache.qpid.server.message.internal.InternalMessage;
@@ -124,7 +123,7 @@ class ManagementNodeConsumer implements
}
@Override
- public void close() throws AMQException
+ public void close()
{
}
Modified: qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java Fri Feb 14 10:52:47 2014
@@ -20,7 +20,6 @@
*/
package org.apache.qpid.server.management.amqp;
-import org.apache.qpid.AMQException;
import org.apache.qpid.server.consumer.Consumer;
import org.apache.qpid.server.filter.Filterable;
import org.apache.qpid.server.message.InstanceProperties;
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java Fri Feb 14 10:52:47 2014
@@ -76,6 +76,7 @@ import org.apache.qpid.server.model.Virt
import org.apache.qpid.server.model.adapter.AbstractPluginAdapter;
import org.apache.qpid.server.plugin.PluginFactory;
import org.apache.qpid.server.util.MapValueConverter;
+import org.apache.qpid.server.util.ServerScopedRuntimeException;
import org.apache.qpid.transport.network.security.ssl.QpidMultipleTrustManager;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
@@ -181,7 +182,7 @@ public class HttpManagement extends Abst
}
catch (Exception e)
{
- throw new RuntimeException("Failed to start HTTP management on ports : " + httpPorts, e);
+ throw new ServerScopedRuntimeException("Failed to start HTTP management on ports : " + httpPorts, e);
}
CurrentActor.get().message(ManagementConsoleMessages.READY(OPERATIONAL_LOGGING_NAME));
@@ -198,7 +199,7 @@ public class HttpManagement extends Abst
}
catch (Exception e)
{
- throw new RuntimeException("Failed to stop HTTP management on ports : " + getHttpPorts(getBroker().getPorts()), e);
+ throw new ServerScopedRuntimeException("Failed to stop HTTP management on ports : " + getHttpPorts(getBroker().getPorts()), e);
}
}
@@ -310,7 +311,7 @@ public class HttpManagement extends Abst
}
catch (GeneralSecurityException e)
{
- throw new RuntimeException("Cannot configure port " + port.getName() + " for transport " + Transport.SSL, e);
+ throw new ServerScopedRuntimeException("Cannot configure port " + port.getName() + " for transport " + Transport.SSL, e);
}
connector = new SslSocketConnector(factory);
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementUtil.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementUtil.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementUtil.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementUtil.java Fri Feb 14 10:52:47 2014
@@ -50,6 +50,7 @@ import org.apache.qpid.server.security.a
import org.apache.qpid.server.security.auth.UsernamePrincipal;
import org.apache.qpid.server.security.auth.manager.ExternalAuthenticationManager;
import org.apache.qpid.server.security.auth.manager.ExternalAuthenticationManagerFactory;
+import org.apache.qpid.server.util.ServerScopedRuntimeException;
import org.apache.qpid.transport.network.security.ssl.SSLUtil;
public class HttpManagementUtil
@@ -138,7 +139,7 @@ public class HttpManagementUtil
}
catch (PrivilegedActionException e)
{
- throw new RuntimeException("Unable to perform access check", e);
+ throw new ServerScopedRuntimeException("Unable to perform access check", e);
}
}
finally
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java Fri Feb 14 10:52:47 2014
@@ -40,6 +40,7 @@ import org.apache.qpid.server.management
import org.apache.qpid.server.management.plugin.HttpManagementUtil;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.security.SecurityManager;
+import org.apache.qpid.server.util.ConnectionScopedRuntimeException;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
@@ -214,7 +215,16 @@ public abstract class AbstractServlet ex
catch (PrivilegedActionException e)
{
LOGGER.error("Unable to perform action", e);
- throw new RuntimeException(e.getCause());
+ Throwable cause = e.getCause();
+ if(cause instanceof RuntimeException)
+ {
+ throw (RuntimeException)cause;
+ }
+ if(cause instanceof Error)
+ {
+ throw (Error)cause;
+ }
+ throw new ConnectionScopedRuntimeException(e.getCause());
}
finally
{
@@ -255,7 +265,7 @@ public abstract class AbstractServlet ex
}
catch (IOException e)
{
- throw new RuntimeException("Failed to send error response code " + errorCode, e);
+ throw new ConnectionScopedRuntimeException("Failed to send error response code " + errorCode, e);
}
}
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java Fri Feb 14 10:52:47 2014
@@ -21,6 +21,7 @@
package org.apache.qpid.server.management.plugin.servlet.rest;
import org.apache.commons.codec.binary.Base64;
+import org.apache.qpid.server.util.ConnectionScopedRuntimeException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
@@ -210,7 +211,7 @@ public class SaslServlet extends Abstrac
}
if (!saslAuthEnabled)
{
- throw new RuntimeException("Sasl authentication disabled.");
+ throw new ConnectionScopedRuntimeException("Sasl authentication disabled.");
}
}
Modified: qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java Fri Feb 14 10:52:47 2014
@@ -31,6 +31,7 @@ import org.apache.qpid.server.model.Port
import org.apache.qpid.server.model.Transport;
import org.apache.qpid.server.security.auth.jmx.JMXPasswordAuthenticator;
+import org.apache.qpid.server.util.ServerScopedRuntimeException;
import org.apache.qpid.ssl.SSLContextFactory;
import javax.management.JMException;
@@ -134,7 +135,7 @@ public class JMXManagedObjectRegistry im
}
catch (GeneralSecurityException e)
{
- throw new RuntimeException("Unable to create SSLContext for key store", e);
+ throw new ServerScopedRuntimeException("Unable to create SSLContext for key store", e);
}
CurrentActor.get().message(ManagementConsoleMessages.SSL_KEYSTORE(keyStore.getName()));
Modified: qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagement.java Fri Feb 14 10:52:47 2014
@@ -54,6 +54,7 @@ import org.apache.qpid.server.model.adap
import org.apache.qpid.server.plugin.PluginFactory;
import org.apache.qpid.server.plugin.QpidServiceLoader;
import org.apache.qpid.server.util.MapValueConverter;
+import org.apache.qpid.server.util.ServerScopedRuntimeException;
public class JMXManagement extends AbstractPluginAdapter implements ConfigurationChangeListener
{
@@ -110,7 +111,7 @@ public class JMXManagement extends Abstr
}
catch (Exception e)
{
- throw new RuntimeException("Couldn't start JMX management", e);
+ throw new ServerScopedRuntimeException("Couldn't start JMX management", e);
}
return true;
}
Modified: qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ConnectionMBean.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ConnectionMBean.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ConnectionMBean.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ConnectionMBean.java Fri Feb 14 10:52:47 2014
@@ -40,6 +40,7 @@ import org.apache.qpid.server.jmx.Manage
import org.apache.qpid.server.model.Connection;
import org.apache.qpid.server.model.Session;
import org.apache.qpid.server.model.Statistics;
+import org.apache.qpid.server.util.ServerScopedRuntimeException;
public class ConnectionMBean extends AbstractStatisticsGatheringMBean<Connection> implements ManagedConnection
{
@@ -60,7 +61,7 @@ public class ConnectionMBean extends Abs
catch (JMException ex)
{
// This is not expected to ever occur.
- throw new RuntimeException("Got JMException in static initializer.", ex);
+ throw new ServerScopedRuntimeException("Got JMException in static initializer.", ex);
}
}
Modified: qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ExchangeMBean.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ExchangeMBean.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ExchangeMBean.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ExchangeMBean.java Fri Feb 14 10:52:47 2014
@@ -29,6 +29,7 @@ import org.apache.qpid.server.model.Exch
import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.util.ServerScopedRuntimeException;
import javax.management.JMException;
import javax.management.MalformedObjectNameException;
@@ -106,7 +107,7 @@ public class ExchangeMBean extends AMQMa
}
catch(OpenDataException e)
{
- throw new RuntimeException("Unexpected Error creating ArrayType", e);
+ throw new ServerScopedRuntimeException("Unexpected Error creating ArrayType", e);
}
}
Modified: qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/LoggingManagementMBean.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/LoggingManagementMBean.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/LoggingManagementMBean.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/LoggingManagementMBean.java Fri Feb 14 10:52:47 2014
@@ -28,6 +28,7 @@ import org.apache.qpid.server.jmx.Manage
import org.apache.qpid.server.jmx.ManagedObjectRegistry;
import org.apache.qpid.server.logging.log4j.LoggingManagementFacade;
import org.apache.qpid.server.logging.log4j.LoggingFacadeException;
+import org.apache.qpid.server.util.ConnectionScopedRuntimeException;
import javax.management.JMException;
import javax.management.openmbean.CompositeData;
@@ -314,7 +315,7 @@ public class LoggingManagementMBean exte
catch (OpenDataException ode)
{
// Should not happen
- throw new RuntimeException(ode);
+ throw new ConnectionScopedRuntimeException(ode);
}
}
Modified: qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/QueueMBean.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/QueueMBean.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/QueueMBean.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/QueueMBean.java Fri Feb 14 10:52:47 2014
@@ -57,6 +57,7 @@ import org.apache.qpid.server.model.Virt
import org.apache.qpid.server.queue.NotificationCheck;
import org.apache.qpid.server.queue.QueueEntry;
import org.apache.qpid.server.queue.QueueEntryVisitor;
+import org.apache.qpid.server.util.ServerScopedRuntimeException;
public class QueueMBean extends AMQManagedObject implements ManagedQueue, QueueNotificationListener
{
@@ -109,7 +110,7 @@ public class QueueMBean extends AMQManag
}
catch (OpenDataException e)
{
- throw new RuntimeException(e);
+ throw new ServerScopedRuntimeException(e);
}
}
Modified: qpid/trunk/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java Fri Feb 14 10:52:47 2014
@@ -28,6 +28,7 @@ import org.apache.qpid.server.model.Tran
import org.apache.qpid.server.protocol.AmqpProtocolVersion;
import org.apache.qpid.server.protocol.MultiVersionProtocolEngineFactory;
import org.apache.qpid.server.transport.AcceptingTransport;
+import org.apache.qpid.server.util.ServerScopedRuntimeException;
import org.apache.qpid.transport.Binary;
import org.apache.qpid.transport.Sender;
import org.apache.qpid.transport.network.NetworkConnection;
@@ -144,9 +145,13 @@ class WebSocketProvider implements Accep
{
_server.start();
}
+ catch(RuntimeException e)
+ {
+ throw e;
+ }
catch (Exception e)
{
- throw new RuntimeException(e);
+ throw new ServerScopedRuntimeException(e);
}
}
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/QuotaMessageStore.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/QuotaMessageStore.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/QuotaMessageStore.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/QuotaMessageStore.java Fri Feb 14 10:52:47 2014
@@ -23,7 +23,6 @@ package org.apache.qpid.server.store;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
-import org.apache.qpid.AMQStoreException;
import org.apache.qpid.server.message.EnqueueableMessage;
import org.apache.qpid.server.message.MessageContentSource;
import org.apache.qpid.server.model.VirtualHost;
@@ -49,7 +48,6 @@ public class
@Override
public void configureConfigStore(VirtualHost virtualHost, ConfigurationRecoveryHandler recoveryHandler)
- throws Exception
{
Object overfullAttr = virtualHost.getAttribute(MessageStoreConstants.OVERFULL_SIZE_ATTRIBUTE);
_persistentSizeHighThreshold = overfullAttr == null
@@ -76,13 +74,13 @@ public class
@Override
public void configureMessageStore(VirtualHost virtualHost, MessageStoreRecoveryHandler recoveryHandler,
- TransactionLogRecoveryHandler tlogRecoveryHandler) throws Exception
+ TransactionLogRecoveryHandler tlogRecoveryHandler)
{
_stateManager.attainState(State.INITIALISED);
}
@Override
- public void activate() throws Exception
+ public void activate()
{
_stateManager.attainState(State.ACTIVATING);
_stateManager.attainState(State.ACTIVE);
@@ -104,32 +102,32 @@ public class
private AtomicLong _storeSizeIncrease = new AtomicLong();
@Override
- public StoreFuture commitTranAsync() throws AMQStoreException
+ public StoreFuture commitTranAsync()
{
QuotaMessageStore.this.storedSizeChange(_storeSizeIncrease.intValue());
return StoreFuture.IMMEDIATE_FUTURE;
}
@Override
- public void enqueueMessage(TransactionLogResource queue, EnqueueableMessage message) throws AMQStoreException
+ public void enqueueMessage(TransactionLogResource queue, EnqueueableMessage message)
{
_storeSizeIncrease.addAndGet(((MessageContentSource)message).getSize());
}
@Override
- public void dequeueMessage(TransactionLogResource queue, EnqueueableMessage message) throws AMQStoreException
+ public void dequeueMessage(TransactionLogResource queue, EnqueueableMessage message)
{
_storeSizeIncrease.addAndGet(-((MessageContentSource)message).getSize());
}
@Override
- public void commitTran() throws AMQStoreException
+ public void commitTran()
{
QuotaMessageStore.this.storedSizeChange(_storeSizeIncrease.intValue());
}
@Override
- public void abortTran() throws AMQStoreException
+ public void abortTran()
{
}
@@ -152,7 +150,7 @@ public class
}
@Override
- public void close() throws Exception
+ public void close()
{
if (_closed.compareAndSet(false, true))
{
Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java?rev=1568235&r1=1568234&r2=1568235&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java Fri Feb 14 10:52:47 2014
@@ -25,10 +25,10 @@ import java.util.Map;
import java.util.UUID;
import org.apache.log4j.Logger;
-import org.apache.qpid.AMQStoreException;
import org.apache.qpid.server.message.EnqueueableMessage;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.util.ServerScopedRuntimeException;
import java.nio.ByteBuffer;
import java.util.HashMap;
@@ -48,7 +48,7 @@ public class SlowMessageStore implements
// ***** MessageStore Interface.
- public void configureConfigStore(VirtualHost virtualHost, ConfigurationRecoveryHandler recoveryHandler) throws Exception
+ public void configureConfigStore(VirtualHost virtualHost, ConfigurationRecoveryHandler recoveryHandler)
{
_logger.info("Starting SlowMessageStore on Virtualhost:" + virtualHost.getName());
@@ -67,19 +67,34 @@ public class SlowMessageStore implements
if (messageStoreClass != null)
{
- Class<?> clazz = Class.forName(messageStoreClass);
+ try
+ {
+ Class<?> clazz = Class.forName(messageStoreClass);
- Object o = clazz.newInstance();
+ Object o = clazz.newInstance();
- if (!(o instanceof MessageStore))
+ if (!(o instanceof MessageStore))
+ {
+ throw new ClassCastException("Message store class must implement " + MessageStore.class + ". Class " + clazz +
+ " does not.");
+ }
+ _realStore = (MessageStore) o;
+ if(o instanceof DurableConfigurationStore)
+ {
+ _durableConfigurationStore = (DurableConfigurationStore)o;
+ }
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new ServerScopedRuntimeException("Unable to find message store class", e);
+ }
+ catch (InstantiationException e)
{
- throw new ClassCastException("Message store class must implement " + MessageStore.class + ". Class " + clazz +
- " does not.");
+ throw new ServerScopedRuntimeException("Unable to initialise message store class", e);
}
- _realStore = (MessageStore) o;
- if(o instanceof DurableConfigurationStore)
+ catch (IllegalAccessException e)
{
- _durableConfigurationStore = (DurableConfigurationStore)o;
+ throw new ServerScopedRuntimeException("Unable to access message store class", e);
}
}
_durableConfigurationStore.configureConfigStore(virtualHost, recoveryHandler);
@@ -152,12 +167,12 @@ public class SlowMessageStore implements
public void configureMessageStore(VirtualHost virtualHost, MessageStoreRecoveryHandler messageRecoveryHandler,
- TransactionLogRecoveryHandler tlogRecoveryHandler) throws Exception
+ TransactionLogRecoveryHandler tlogRecoveryHandler)
{
_realStore.configureMessageStore(virtualHost, messageRecoveryHandler, tlogRecoveryHandler);
}
- public void close() throws Exception
+ public void close()
{
doPreDelay("close");
_realStore.close();
@@ -258,7 +273,6 @@ public class SlowMessageStore implements
}
public void enqueueMessage(TransactionLogResource queue, EnqueueableMessage message)
- throws AMQStoreException
{
doPreDelay("enqueueMessage");
_underlying.enqueueMessage(queue, message);
@@ -266,7 +280,6 @@ public class SlowMessageStore implements
}
public void dequeueMessage(TransactionLogResource queue, EnqueueableMessage message)
- throws AMQStoreException
{
doPreDelay("dequeueMessage");
_underlying.dequeueMessage(queue, message);
@@ -274,7 +287,6 @@ public class SlowMessageStore implements
}
public void commitTran()
- throws AMQStoreException
{
doPreDelay("commitTran");
_underlying.commitTran();
@@ -282,7 +294,6 @@ public class SlowMessageStore implements
}
public StoreFuture commitTranAsync()
- throws AMQStoreException
{
doPreDelay("commitTran");
StoreFuture future = _underlying.commitTranAsync();
@@ -291,27 +302,25 @@ public class SlowMessageStore implements
}
public void abortTran()
- throws AMQStoreException
{
doPreDelay("abortTran");
_underlying.abortTran();
doPostDelay("abortTran");
}
- public void removeXid(long format, byte[] globalId, byte[] branchId) throws AMQStoreException
+ public void removeXid(long format, byte[] globalId, byte[] branchId)
{
_underlying.removeXid(format, globalId, branchId);
}
public void recordXid(long format, byte[] globalId, byte[] branchId, Record[] enqueues, Record[] dequeues)
- throws AMQStoreException
{
_underlying.recordXid(format, globalId, branchId, enqueues, dequeues);
}
}
@Override
- public void activate() throws Exception
+ public void activate()
{
_realStore.activate();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org