You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kg...@apache.org on 2011/02/08 17:16:56 UTC
svn commit: r1068464 [5/6] - in /qpid/branches/qpid-2935/qpid: ./ bin/ cpp/
cpp/bindings/ cpp/bindings/qmf2/examples/cpp/
cpp/bindings/qmf2/examples/python/ cpp/bindings/qmf2/examples/ruby/
cpp/bindings/qmf2/python/ cpp/bindings/qmf2/ruby/ cpp/bindings...
Modified: qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java (original)
+++ qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java Tue Feb 8 16:16:49 2011
@@ -119,7 +119,6 @@ import org.slf4j.LoggerFactory;
*/
public abstract class AMQSession<C extends BasicMessageConsumer, P extends BasicMessageProducer> extends Closeable implements Session, QueueSession, TopicSession
{
-
public static final class IdToConsumerMap<C extends BasicMessageConsumer>
{
private final BasicMessageConsumer[] _fastAccessConsumers = new BasicMessageConsumer[16];
@@ -363,7 +362,7 @@ public abstract class AMQSession<C exten
/**
* Set when recover is called. This is to handle the case where recover() is called by application code during
- * onMessage() processing to enure that an auto ack is not sent.
+ * onMessage() processing to ensure that an auto ack is not sent.
*/
private boolean _inRecovery;
@@ -383,7 +382,7 @@ public abstract class AMQSession<C exten
private final Object _suspensionLock = new Object();
/**
- * Used to ensure that onlt the first call to start the dispatcher can unsuspend the channel.
+ * Used to ensure that only the first call to start the dispatcher can unsuspend the channel.
*
* @todo This is accessed only within a synchronized method, so does not need to be atomic.
*/
@@ -429,7 +428,7 @@ public abstract class AMQSession<C exten
* @param con The connection on which to create the session.
* @param channelId The unique identifier for the session.
* @param transacted Indicates whether or not the session is transactional.
- * @param acknowledgeMode The acknoledgement mode for the session.
+ * @param acknowledgeMode The acknowledgement mode for the session.
* @param messageFactoryRegistry The message factory factory for the session.
* @param defaultPrefetchHighMark The maximum number of messages to prefetched before suspending the session.
* @param defaultPrefetchLowMark The number of prefetched messages at which to resume the session.
@@ -475,7 +474,7 @@ public abstract class AMQSession<C exten
// flow control
if (!(_thisSession.isClosed() || _thisSession.isClosing()))
{
- // Only executute change if previous state
+ // Only execute change if previous state
// was False
if (!_suspendState.getAndSet(true))
{
@@ -485,7 +484,14 @@ public abstract class AMQSession<C exten
"Above threshold(" + _prefetchHighMark
+ ") so suspending channel. Current value is " + currentValue);
}
- new Thread(new SuspenderRunner(_suspendState)).start();
+ try
+ {
+ Threading.getThreadFactory().createThread(new SuspenderRunner(_suspendState)).start();
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Failed to create thread", e);
+ }
}
}
}
@@ -496,7 +502,7 @@ public abstract class AMQSession<C exten
// flow control
if (!(_thisSession.isClosed() || _thisSession.isClosing()))
{
- // Only executute change if previous state
+ // Only execute change if previous state
// was true
if (_suspendState.getAndSet(false))
{
@@ -507,7 +513,14 @@ public abstract class AMQSession<C exten
"Below threshold(" + _prefetchLowMark
+ ") so unsuspending channel. Current value is " + currentValue);
}
- new Thread(new SuspenderRunner(_suspendState)).start();
+ try
+ {
+ Threading.getThreadFactory().createThread(new SuspenderRunner(_suspendState)).start();
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Failed to create thread", e);
+ }
}
}
}
@@ -531,7 +544,7 @@ public abstract class AMQSession<C exten
* @param con The connection on which to create the session.
* @param channelId The unique identifier for the session.
* @param transacted Indicates whether or not the session is transactional.
- * @param acknowledgeMode The acknoledgement mode for the session.
+ * @param acknowledgeMode The acknowledgement mode for the session.
* @param defaultPrefetchHigh The maximum number of messages to prefetched before suspending the session.
* @param defaultPrefetchLow The number of prefetched messages at which to resume the session.
*/
@@ -562,7 +575,7 @@ public abstract class AMQSession<C exten
}
catch (IllegalStateException ise)
{
- // if the Connection has closed then we should throw any exception that has occured that we were not waiting for
+ // if the Connection has closed then we should throw any exception that has occurred that we were not waiting for
AMQStateManager manager = _connection.getProtocolHandler().getStateManager();
if (manager.getCurrentState().equals(AMQState.CONNECTION_CLOSED) && manager.getLastException() != null)
@@ -677,11 +690,11 @@ public abstract class AMQSession<C exten
/**
* Closes the session.
*
- * <p/>Note that this operation succeeds automatically if a fail-over interupts the sycnronous request to close
+ * <p/>Note that this operation succeeds automatically if a fail-over interrupts the synchronous request to close
* the channel. This is because the channel is marked as closed before the request to close it is made, so the
* fail-over should not re-open it.
*
- * @param timeout The timeout in milliseconds to wait for the session close acknoledgement from the broker.
+ * @param timeout The timeout in milliseconds to wait for the session close acknowledgement from the broker.
*
* @throws JMSException If the JMS provider fails to close the session due to some internal error.
* @todo Be aware of possible changes to parameter order as versions change.
@@ -2566,7 +2579,7 @@ public abstract class AMQSession<C exten
}
public abstract P createMessageProducer(final Destination destination, final boolean mandatory,
- final boolean immediate, final boolean waitUntilSent, long producerId);
+ final boolean immediate, final boolean waitUntilSent, long producerId) throws JMSException;
private void declareExchange(AMQDestination amqd, AMQProtocolHandler protocolHandler, boolean nowait) throws AMQException
{
Modified: qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java (original)
+++ qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java Tue Feb 8 16:16:49 2011
@@ -660,10 +660,21 @@ public class AMQSession_0_10 extends AMQ
*/
public BasicMessageProducer_0_10 createMessageProducer(final Destination destination, final boolean mandatory,
final boolean immediate, final boolean waitUntilSent,
- long producerId)
+ long producerId) throws JMSException
{
- return new BasicMessageProducer_0_10(_connection, (AMQDestination) destination, _transacted, _channelId, this,
+ try
+ {
+ return new BasicMessageProducer_0_10(_connection, (AMQDestination) destination, _transacted, _channelId, this,
getProtocolHandler(), producerId, immediate, mandatory, waitUntilSent);
+ }
+ catch (AMQException e)
+ {
+ JMSException ex = new JMSException("Error creating producer");
+ ex.initCause(e);
+ ex.setLinkedException(e);
+
+ throw ex;
+ }
}
@@ -698,6 +709,20 @@ public class AMQSession_0_10 extends AMQ
}
/**
+ * deletes an exchange
+ */
+ public void sendExchangeDelete(final String name, final boolean nowait)
+ throws AMQException, FailoverException
+ {
+ getQpidSession().exchangeDelete(name);
+ // We need to sync so that we get notify of an error.
+ if (!nowait)
+ {
+ sync();
+ }
+ }
+
+ /**
* Declare a queue with the given queueName
*/
public void sendQueueDeclare(final AMQDestination amqd, final AMQProtocolHandler protocolHandler,
Modified: qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java (original)
+++ qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java Tue Feb 8 16:16:49 2011
@@ -400,11 +400,21 @@ public final class AMQSession_0_8 extend
public BasicMessageProducer_0_8 createMessageProducer(final Destination destination, final boolean mandatory,
- final boolean immediate, final boolean waitUntilSent, long producerId)
+ final boolean immediate, final boolean waitUntilSent, long producerId) throws JMSException
{
-
- return new BasicMessageProducer_0_8(_connection, (AMQDestination) destination, _transacted, _channelId,
+ try
+ {
+ return new BasicMessageProducer_0_8(_connection, (AMQDestination) destination, _transacted, _channelId,
this, getProtocolHandler(), producerId, immediate, mandatory, waitUntilSent);
+ }
+ catch (AMQException e)
+ {
+ JMSException ex = new JMSException("Error creating producer");
+ ex.initCause(e);
+ ex.setLinkedException(e);
+
+ throw ex;
+ }
}
Modified: qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java (original)
+++ qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java Tue Feb 8 16:16:49 2011
@@ -127,7 +127,7 @@ public abstract class BasicMessageProduc
protected BasicMessageProducer(AMQConnection connection, AMQDestination destination, boolean transacted, int channelId,
AMQSession session, AMQProtocolHandler protocolHandler, long producerId, boolean immediate, boolean mandatory,
- boolean waitUntilSent)
+ boolean waitUntilSent) throws AMQException
{
_connection = connection;
_destination = destination;
@@ -175,7 +175,7 @@ public abstract class BasicMessageProduc
}
}
- abstract void declareDestination(AMQDestination destination);
+ abstract void declareDestination(AMQDestination destination) throws AMQException;
public void setDisableMessageID(boolean b) throws JMSException
{
@@ -434,7 +434,18 @@ public abstract class BasicMessageProduc
AMQDestination amqDestination = (AMQDestination) destination;
if(!amqDestination.isExchangeExistsChecked())
{
- declareDestination(amqDestination);
+ try
+ {
+ declareDestination(amqDestination);
+ }
+ catch(Exception e)
+ {
+ JMSException ex = new JMSException("Error validating destination");
+ ex.initCause(e);
+ ex.setLinkedException(e);
+
+ throw ex;
+ }
amqDestination.setExchangeExistsChecked(true);
}
}
Modified: qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java (original)
+++ qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java Tue Feb 8 16:16:49 2011
@@ -56,7 +56,7 @@ public class BasicMessageProducer_0_10 e
BasicMessageProducer_0_10(AMQConnection connection, AMQDestination destination, boolean transacted, int channelId,
AMQSession session, AMQProtocolHandler protocolHandler, long producerId,
- boolean immediate, boolean mandatory, boolean waitUntilSent)
+ boolean immediate, boolean mandatory, boolean waitUntilSent) throws AMQException
{
super(connection, destination, transacted, channelId, session, protocolHandler, producerId, immediate,
mandatory, waitUntilSent);
@@ -64,7 +64,7 @@ public class BasicMessageProducer_0_10 e
userIDBytes = Strings.toUTF8(_userID);
}
- void declareDestination(AMQDestination destination)
+ void declareDestination(AMQDestination destination) throws AMQException
{
if (destination.getDestSyntax() == DestSyntax.BURL)
{
@@ -83,8 +83,8 @@ public class BasicMessageProducer_0_10 e
}
catch(Exception e)
{
- // Idealy this should be thrown to the JMS layer.
- _logger.warn("Exception occured while verifying destination",e);
+ AMQException ex = new AMQException("Exception occured while verifying destination",e);
+ throw ex;
}
}
}
Modified: qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java (original)
+++ qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_8.java Tue Feb 8 16:16:49 2011
@@ -28,6 +28,7 @@ import javax.jms.Topic;
import javax.jms.Queue;
import org.apache.mina.common.ByteBuffer;
+import org.apache.qpid.AMQException;
import org.apache.qpid.client.message.AbstractJMSMessage;
import org.apache.qpid.client.message.AMQMessageDelegate;
import org.apache.qpid.client.message.AMQMessageDelegate_0_8;
@@ -46,7 +47,7 @@ public class BasicMessageProducer_0_8 ex
BasicMessageProducer_0_8(AMQConnection connection, AMQDestination destination, boolean transacted, int channelId,
AMQSession session, AMQProtocolHandler protocolHandler, long producerId, boolean immediate, boolean mandatory,
- boolean waitUntilSent)
+ boolean waitUntilSent) throws AMQException
{
super(connection, destination,transacted,channelId,session, protocolHandler, producerId, immediate, mandatory,waitUntilSent);
}
Modified: qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java (original)
+++ qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java Tue Feb 8 16:16:49 2011
@@ -55,9 +55,12 @@ public class ConnectionTuneMethodHandler
{
params = new ConnectionTuneParameters();
}
+
+ int maxChannelNumber = frame.getChannelMax();
+ //0 implies no limit, except that forced by protocol limitations (0xFFFF)
+ params.setChannelMax(maxChannelNumber == 0 ? AMQProtocolSession.MAX_CHANNEL_MAX : maxChannelNumber);
params.setFrameMax(frame.getFrameMax());
- params.setChannelMax(frame.getChannelMax());
params.setHeartbeat(Integer.getInteger("amqj.heartbeat.delay", frame.getHeartbeat()));
session.setConnectionTuneParameters(params);
Modified: qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java (original)
+++ qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java Tue Feb 8 16:16:49 2011
@@ -115,15 +115,28 @@ public class AMQMessageDelegate_0_10 ext
if (deliveryProps != null)
{
String exchange = deliveryProps.getExchange();
+ checkAndUpdateExchange(exchange,session);
+
+ }
+
+ MessageProperties msgProps = header.get(MessageProperties.class);
+ if (msgProps != null && msgProps.getReplyTo() != null)
+ {
+ String exchange = msgProps.getReplyTo().getExchange();
+ checkAndUpdateExchange(exchange,session);
+
+ }
+ }
+
+ private static void checkAndUpdateExchange(String exchange, org.apache.qpid.transport.Session session)
+ {
+ if (exchange != null && !exchangeMapContains(exchange))
+ {
+ Future<ExchangeQueryResult> future =
+ session.exchangeQuery(exchange.toString());
+ ExchangeQueryResult res = future.get();
- if (exchange != null && !exchangeMapContains(exchange))
- {
- Future<ExchangeQueryResult> future =
- session.exchangeQuery(exchange.toString());
- ExchangeQueryResult res = future.get();
-
- updateExchangeType(exchange, res.getType());
- }
+ updateExchangeType(exchange, res.getType());
}
}
Modified: qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractAMQMessageDelegate.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractAMQMessageDelegate.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractAMQMessageDelegate.java (original)
+++ qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/message/AbstractAMQMessageDelegate.java Tue Feb 8 16:16:49 2011
@@ -95,6 +95,11 @@ public abstract class AbstractAMQMessage
AMQDestination dest;
ExchangeInfo exchangeInfo = _exchangeMap.get(exchange.asString());
+ if (exchangeInfo == null)
+ {
+ exchangeInfo = new ExchangeInfo(exchange.asString(),"",AMQDestination.UNKNOWN_TYPE);
+ }
+
if ("topic".equals(exchangeInfo.exchangeType))
{
dest = new AMQTopic(exchange, routingKey, null);
Modified: qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java (original)
+++ qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java Tue Feb 8 16:16:49 2011
@@ -28,6 +28,7 @@ import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
import org.apache.mina.filter.codec.ProtocolCodecException;
@@ -63,6 +64,7 @@ import org.apache.qpid.protocol.AMQConst
import org.apache.qpid.protocol.AMQMethodEvent;
import org.apache.qpid.protocol.AMQMethodListener;
import org.apache.qpid.protocol.ProtocolEngine;
+import org.apache.qpid.thread.Threading;
import org.apache.qpid.transport.NetworkDriver;
import org.apache.qpid.transport.network.io.IoTransport;
import org.slf4j.Logger;
@@ -100,7 +102,7 @@ import org.slf4j.LoggerFactory;
* connection is shutdown and a new one created. For this reason, an AMQProtocolHandler is created per AMQConnection
* and the protocol session data is held outside of the MINA IOSession.
*
- * <p/>This handler is responsibile for setting up the filter chain to filter all events for this handler through.
+ * <p/>This handler is responsible for setting up the filter chain to filter all events for this handler through.
* The filter chain is set up as a stack of event handers that perform the following functions (working upwards from
* the network traffic at the bottom), handing off incoming events to an asynchronous thread pool to do the work,
* optionally handling secure sockets encoding/decoding, encoding/decoding the AMQP format itself.
@@ -114,8 +116,8 @@ import org.slf4j.LoggerFactory;
* @todo Use a single handler instance, by shifting everything to do with the 'protocol session' state, including
* failover state, into AMQProtocolSession, and tracking that from AMQConnection? The lifecycles of
* AMQProtocolSesssion and AMQConnection will be the same, so if there is high cohesion between them, they could
- * be merged, although there is sense in keeping the session model seperate. Will clarify things by having data
- * held per protocol handler, per protocol session, per network connection, per channel, in seperate classes, so
+ * be merged, although there is sense in keeping the session model separate. Will clarify things by having data
+ * held per protocol handler, per protocol session, per network connection, per channel, in separate classes, so
* that lifecycles of the fields match lifecycles of their containing objects.
*/
public class AMQProtocolHandler implements ProtocolEngine
@@ -158,7 +160,7 @@ public class AMQProtocolHandler implemen
/** Used to provide a condition to wait upon for operations that are required to wait for failover to complete. */
private CountDownLatch _failoverLatch;
- /** The last failover exception that occured */
+ /** The last failover exception that occurred */
private FailoverException _lastFailoverException;
/** Defines the default timeout to use for synchronous protocol commands. */
@@ -187,6 +189,21 @@ public class AMQProtocolHandler implemen
_protocolSession = new AMQProtocolSession(this, _connection);
_stateManager = new AMQStateManager(_protocolSession);
_codecFactory = new AMQCodecFactory(false, _protocolSession);
+ _poolReference.setThreadFactory(new ThreadFactory()
+ {
+
+ public Thread newThread(final Runnable runnable)
+ {
+ try
+ {
+ return Threading.getThreadFactory().createThread(runnable);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Failed to create thread", e);
+ }
+ }
+ });
_readJob = new Job(_poolReference, Job.MAX_JOB_EVENTS, true);
_writeJob = new Job(_poolReference, Job.MAX_JOB_EVENTS, false);
_poolReference.acquireExecutorService();
@@ -275,7 +292,15 @@ public class AMQProtocolHandler implemen
{
if(!_connection.isClosed())
{
- Thread failoverThread = new Thread(_failoverHandler);
+ final Thread failoverThread;
+ try
+ {
+ failoverThread = Threading.getThreadFactory().createThread(_failoverHandler);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Failed to create thread", e);
+ }
failoverThread.setName("Failover");
// Do not inherit daemon-ness from current thread as this can be a daemon
// thread such as a AnonymousIoService thread.
@@ -369,7 +394,7 @@ public class AMQProtocolHandler implemen
}
/**
- * This caters for the case where we only need to propogate an exception to the the frame listeners to interupt any
+ * This caters for the case where we only need to propagate an exception to the the frame listeners to interupt any
* protocol level waits.
*
* This will would normally be used to notify all Frame Listeners that Failover is about to occur and they should
@@ -407,7 +432,7 @@ public class AMQProtocolHandler implemen
}
//Only notify the Frame listeners that failover is going to occur as the State listeners shouldn't be
- // interupted unless failover cannot restore the state.
+ // interrupted unless failover cannot restore the state.
propagateExceptionToFrameListeners(_lastFailoverException);
}
Modified: qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java (original)
+++ qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java Tue Feb 8 16:16:49 2011
@@ -54,6 +54,10 @@ public class AMQProtocolSession implemen
public static final String PROTOCOL_INITIATION_RECEIVED = "ProtocolInitiatiionReceived";
+ //Usable channels are numbered 1 to <ChannelMax>
+ public static final int MAX_CHANNEL_MAX = 0xFFFF;
+ public static final int MIN_USABLE_CHANNEL_NUM = 1;
+
protected static final String CONNECTION_TUNE_PARAMETERS = "ConnectionTuneParameters";
protected static final String AMQ_CONNECTION = "AMQConnection";
@@ -178,6 +182,7 @@ public class AMQProtocolSession implemen
{
_connectionTuneParameters = params;
AMQConnection con = getAMQConnection();
+
con.setMaximumChannelCount(params.getChannelMax());
con.setMaximumFrameSize(params.getFrameMax());
_protocolHandler.initHeartbeats((int) params.getHeartbeat());
Modified: qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/jms/ChannelLimitReachedException.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/jms/ChannelLimitReachedException.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/jms/ChannelLimitReachedException.java (original)
+++ qpid/branches/qpid-2935/qpid/java/client/src/main/java/org/apache/qpid/jms/ChannelLimitReachedException.java Tue Feb 8 16:16:49 2011
@@ -33,9 +33,9 @@ public class ChannelLimitReachedExceptio
public ChannelLimitReachedException(long limit)
{
- super("Unable to create session since maximum number of sessions per connection is " +
- limit + ". Either close one or more sessions or increase the " +
- "maximum number of sessions per connection (or contact your AMQP administrator.", ERROR_CODE);
+ super("Unable to create session, the maximum number of sessions per connection is " +
+ limit + ". You must either close one or more sessions or increase the " +
+ "maximum number of sessions available per connection.", ERROR_CODE);
_limit = limit;
}
Modified: qpid/branches/qpid-2935/qpid/java/common/Composite.tpl
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/Composite.tpl?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/Composite.tpl (original)
+++ qpid/branches/qpid-2935/qpid/java/common/Composite.tpl Tue Feb 8 16:16:49 2011
@@ -44,6 +44,8 @@ cls = klass(type)["@name"]
segments = type["segments"]
+connectioncontrol="false"
+
if type.name in ("control", "command"):
base = "Method"
size = 0
@@ -54,6 +56,7 @@ if type.name in ("control", "command"):
payload = "false"
if type.name == "control" and cls == "connection":
track = "Frame.L1"
+ connectioncontrol="true"
elif cls == "session" and type["@name"] in ("attach", "attached", "detach", "detached"):
track = "Frame.L2"
elif type.name == "command":
@@ -100,6 +103,11 @@ public final class $name extends $base {
return $track;
}
+ public final boolean isConnectionControl()
+ {
+ return $connectioncontrol;
+ }
+
${
if pack > 0:
Modified: qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/pool/ReferenceCountingExecutorService.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/pool/ReferenceCountingExecutorService.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/pool/ReferenceCountingExecutorService.java (original)
+++ qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/pool/ReferenceCountingExecutorService.java Tue Feb 8 16:16:49 2011
@@ -22,10 +22,12 @@ package org.apache.qpid.pool;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.LinkedBlockingQueue;
+
/**
* ReferenceCountingExecutorService wraps an ExecutorService in order to provide shared reference to it. It counts
* the references taken, instantiating the service on the first reference, and shutting it down when the last
@@ -36,7 +38,7 @@ import java.util.concurrent.LinkedBlocki
*
* <p/><table id="crc><caption>CRC Card</caption>
* <tr><th> Responsibilities <th> Collaborations
- * <tr><td> Provide a shared exector service. <td> {@link Executors}
+ * <tr><td> Provide a shared executor service. <td> {@link Executors}
* <tr><td> Shutdown the executor service when not needed. <td> {@link ExecutorService}
* <tr><td> Track references to the executor service.
* <tr><td> Provide configuration of the executor service.
@@ -53,13 +55,15 @@ import java.util.concurrent.LinkedBlocki
* @todo {@link #_poolSize} should be static?
*
* @todo The {@link #getPool()} method breaks the encapsulation of the reference counter. Generally when getPool is used
- * further checks are applied to ensure that the exector service has not been shutdown. This passes responsibility
+ * further checks are applied to ensure that the executor service has not been shutdown. This passes responsibility
* for managing the lifecycle of the reference counted object onto the caller rather than neatly encapsulating it
* here. Could think about adding more state to the lifecycle, to mark ref counted objects as invalid, and have an
* isValid method, or could make calling code deal with RejectedExecutionException raised by shutdown executors.
*/
public class ReferenceCountingExecutorService
{
+
+
/** Defines the smallest thread pool that will be allocated, irrespective of the number of processors. */
private static final int MINIMUM_POOL_SIZE = 4;
@@ -87,6 +91,11 @@ public class ReferenceCountingExecutorSe
/** Holds the number of executor threads to create. */
private int _poolSize = Integer.getInteger("amqj.read_write_pool_size", DEFAULT_POOL_SIZE);
+ /** Thread Factory used to create thread of the pool. Uses the default implementation provided by
+ * {@link java.util.concurrent.Executors#defaultThreadFactory()} unless reset by the caller.
+ */
+ private ThreadFactory _threadFactory = Executors.defaultThreadFactory();
+
private final boolean _useBiasedPool = Boolean.getBoolean("org.apache.qpid.use_write_biased_pool");
/**
@@ -116,19 +125,23 @@ public class ReferenceCountingExecutorSe
{
if (_refCount++ == 0)
{
-// _pool = Executors.newFixedThreadPool(_poolSize);
-
// Use a job queue that biases to writes
if(_useBiasedPool)
{
_pool = new ThreadPoolExecutor(_poolSize, _poolSize,
0L, TimeUnit.MILLISECONDS,
- new ReadWriteJobQueue());
+ new ReadWriteJobQueue(),
+ _threadFactory);
+
}
else
{
- _pool = Executors.newFixedThreadPool(_poolSize);
+ _pool = new ThreadPoolExecutor(_poolSize, _poolSize,
+ 0L, TimeUnit.MILLISECONDS,
+ new LinkedBlockingQueue<Runnable>(),
+ _threadFactory);
}
+
}
@@ -137,7 +150,7 @@ public class ReferenceCountingExecutorSe
}
/**
- * Releases a reference to a shared executor service, decrementing the reference count. If the refence count falls
+ * Releases a reference to a shared executor service, decrementing the reference count. If the reference count falls
* to zero, the executor service is shut down.
*/
public void releaseExecutorService()
@@ -169,4 +182,34 @@ public class ReferenceCountingExecutorSe
{
return _refCount;
}
+
+ /**
+ *
+ * Return the thread factory used by the {@link ThreadPoolExecutor} to create new threads.
+ *
+ * @return thread factory
+ */
+ public ThreadFactory getThreadFactory()
+ {
+ return _threadFactory;
+ }
+
+ /**
+ * Sets the thread factory used by the {@link ThreadPoolExecutor} to create new threads.
+ * <p>
+ * If the pool has been already created, the change will have no effect until
+ * {@link #getReferenceCount()} reaches zero and the pool recreated. For this reason,
+ * callers must invoke this method <i>before</i> calling {@link #acquireExecutorService()}.
+ *
+ * @param threadFactory thread factory
+ */
+ public void setThreadFactory(final ThreadFactory threadFactory)
+ {
+ if (threadFactory == null)
+ {
+ throw new NullPointerException("threadFactory cannot be null");
+ }
+ _threadFactory = threadFactory;
+ }
+
}
Modified: qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/thread/DefaultThreadFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/thread/DefaultThreadFactory.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/thread/DefaultThreadFactory.java (original)
+++ qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/thread/DefaultThreadFactory.java Tue Feb 8 16:16:49 2011
@@ -1,4 +1,3 @@
-package org.apache.qpid.thread;
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -20,29 +19,25 @@ package org.apache.qpid.thread;
*
*/
+package org.apache.qpid.thread;
-public class DefaultThreadFactory implements ThreadFactory
-{
-
- private static class QpidThread extends Thread
- {
- private QpidThread(final Runnable target)
- {
- super(target);
- }
- }
+public class DefaultThreadFactory implements ThreadFactory
+{
+ private final LoggingUncaughtExceptionHandler _loggingUncaughtExceptionHandler = new LoggingUncaughtExceptionHandler();
public Thread createThread(Runnable r)
{
- return new Thread(r);
+ Thread t = new Thread(r);
+ t.setUncaughtExceptionHandler(_loggingUncaughtExceptionHandler);
+ return t;
}
public Thread createThread(Runnable r, int priority)
{
- Thread t = new Thread(r);
+ Thread t = createThread(r);
t.setPriority(priority);
return t;
}
Modified: qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/thread/RealtimeThreadFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/thread/RealtimeThreadFactory.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/thread/RealtimeThreadFactory.java (original)
+++ qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/thread/RealtimeThreadFactory.java Tue Feb 8 16:16:49 2011
@@ -25,6 +25,8 @@ import java.lang.reflect.Constructor;
public class RealtimeThreadFactory implements ThreadFactory
{
+ private final LoggingUncaughtExceptionHandler _loggingUncaughtExceptionHandler = new LoggingUncaughtExceptionHandler();
+
private Class threadClass;
private Constructor threadConstructor;
private Constructor priorityParameterConstructor;
@@ -62,7 +64,9 @@ public class RealtimeThreadFactory imple
public Thread createThread(Runnable r, int priority) throws Exception
{
Object priorityParams = priorityParameterConstructor.newInstance(priority);
- return (Thread)threadConstructor.newInstance(priorityParams,null,null,null,null,r);
+ Thread thread = (Thread)threadConstructor.newInstance(priorityParams,null,null,null,null,r);
+ thread.setUncaughtExceptionHandler(_loggingUncaughtExceptionHandler);
+ return thread;
}
}
Modified: qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java (original)
+++ qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java Tue Feb 8 16:16:49 2011
@@ -86,7 +86,8 @@ public class ClientDelegate extends Conn
}
}
- @Override public void connectionStart(Connection conn, ConnectionStart start)
+ @Override
+ public void connectionStart(Connection conn, ConnectionStart start)
{
Map<String,Object> clientProperties = new HashMap<String,Object>();
@@ -156,7 +157,8 @@ public class ClientDelegate extends Conn
}
}
- @Override public void connectionSecure(Connection conn, ConnectionSecure secure)
+ @Override
+ public void connectionSecure(Connection conn, ConnectionSecure secure)
{
SaslClient sc = conn.getSaslClient();
try
@@ -170,9 +172,9 @@ public class ClientDelegate extends Conn
}
}
- @Override public void connectionTune(Connection conn, ConnectionTune tune)
+ @Override
+ public void connectionTune(Connection conn, ConnectionTune tune)
{
- conn.setChannelMax(tune.getChannelMax());
int hb_interval = calculateHeartbeatInterval(conSettings.getHeartbeatInterval(),
tune.getHeartbeatMin(),
tune.getHeartbeatMax()
@@ -182,10 +184,17 @@ public class ClientDelegate extends Conn
hb_interval);
// The idle timeout is twice the heartbeat amount (in milisecs)
conn.setIdleTimeout(hb_interval*1000*2);
+
+ int channelMax = tune.getChannelMax();
+ //0 means no implied limit, except available server resources
+ //(or that forced by protocol limitations [0xFFFF])
+ conn.setChannelMax(channelMax == 0 ? Connection.MAX_CHANNEL_MAX : channelMax);
+
conn.connectionOpen(conSettings.getVhost(), null, Option.INSIST);
}
- @Override public void connectionOpenOk(Connection conn, ConnectionOpenOk ok)
+ @Override
+ public void connectionOpenOk(Connection conn, ConnectionOpenOk ok)
{
SaslClient sc = conn.getSaslClient();
if (sc != null)
@@ -210,12 +219,14 @@ public class ClientDelegate extends Conn
conn.setState(OPEN);
}
- @Override public void connectionRedirect(Connection conn, ConnectionRedirect redir)
+ @Override
+ public void connectionRedirect(Connection conn, ConnectionRedirect redir)
{
throw new UnsupportedOperationException();
}
- @Override public void connectionHeartbeat(Connection conn, ConnectionHeartbeat hearbeat)
+ @Override
+ public void connectionHeartbeat(Connection conn, ConnectionHeartbeat hearbeat)
{
conn.connectionHeartbeat();
}
Modified: qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java (original)
+++ qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java Tue Feb 8 16:16:49 2011
@@ -59,6 +59,9 @@ public class Connection extends Connecti
protected static final Logger log = Logger.get(Connection.class);
+ //Usable channels are numbered 0 to <ChannelMax> - 1
+ public static final int MAX_CHANNEL_MAX = 0xFFFF;
+ public static final int MIN_USABLE_CHANNEL_NUM = 0;
public enum State { NEW, CLOSED, OPENING, OPEN, CLOSING, CLOSE_RCVD }
@@ -404,7 +407,8 @@ public class Connection extends Connecti
{
synchronized (lock)
{
- for (int i = 1; i <= getChannelMax(); i++)
+ //For a negotiated channelMax N, there are channels 0 to N-1 available.
+ for (int i = 0; i < getChannelMax(); i++)
{
if (!channels.containsKey(i))
{
@@ -434,7 +438,7 @@ public class Connection extends Connecti
}
}
- Session getSession(int channel)
+ protected Session getSession(int channel)
{
synchronized (lock)
{
Modified: qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ProtocolError.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ProtocolError.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ProtocolError.java (original)
+++ qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ProtocolError.java Tue Feb 8 16:16:49 2011
@@ -60,6 +60,11 @@ public final class ProtocolError impleme
return track;
}
+ public boolean isConnectionControl()
+ {
+ return false;
+ }
+
public String getMessage()
{
return String.format(format, args);
Modified: qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ProtocolEvent.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ProtocolEvent.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ProtocolEvent.java (original)
+++ qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ProtocolEvent.java Tue Feb 8 16:16:49 2011
@@ -37,4 +37,5 @@ public interface ProtocolEvent
<C> void delegate(C context, ProtocolDelegate<C> delegate);
+ boolean isConnectionControl();
}
Modified: qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ProtocolHeader.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ProtocolHeader.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ProtocolHeader.java (original)
+++ qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ProtocolHeader.java Tue Feb 8 16:16:49 2011
@@ -88,6 +88,11 @@ public final class ProtocolHeader implem
return Frame.L1;
}
+ public boolean isConnectionControl()
+ {
+ return false;
+ }
+
public ByteBuffer toByteBuffer()
{
ByteBuffer buf = ByteBuffer.allocate(8);
Modified: qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java (original)
+++ qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/ServerDelegate.java Tue Feb 8 16:16:49 2011
@@ -30,6 +30,8 @@ import javax.security.sasl.Sasl;
import javax.security.sasl.SaslException;
import javax.security.sasl.SaslServer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* ServerDelegate
@@ -38,8 +40,8 @@ import javax.security.sasl.SaslServer;
public class ServerDelegate extends ConnectionDelegate
{
+ protected static final Logger _logger = LoggerFactory.getLogger(ServerDelegate.class);
- private SaslServer saslServer;
private List<Object> _locales;
private List<Object> _mechanisms;
private Map<String, Object> _clientProperties;
@@ -47,7 +49,7 @@ public class ServerDelegate extends Conn
public ServerDelegate()
{
- this(null, Collections.EMPTY_LIST, Collections.singletonList((Object)"utf8"));
+ this(null, Collections.emptyList(), Collections.singletonList((Object)"utf8"));
}
protected ServerDelegate(Map<String, Object> clientProperties, List<Object> mechanisms, List<Object> locales)
@@ -64,7 +66,8 @@ public class ServerDelegate extends Conn
conn.connectionStart(_clientProperties, _mechanisms, _locales);
}
- @Override public void connectionStartOk(Connection conn, ConnectionStartOk ok)
+ @Override
+ public void connectionStartOk(Connection conn, ConnectionStartOk ok)
{
conn.setLocale(ok.getLocale());
String mechanism = ok.getMechanism();
@@ -75,9 +78,9 @@ public class ServerDelegate extends Conn
if (mechanism == null || mechanism.length() == 0)
{
conn.connectionTune
- (Integer.MAX_VALUE,
+ (getChannelMax(),
org.apache.qpid.transport.network.ConnectionBinding.MAX_FRAME_SIZE,
- 0, Integer.MAX_VALUE);
+ 0, getHeartbeatMax());
return;
}
@@ -118,7 +121,7 @@ public class ServerDelegate extends Conn
{
ss.dispose();
conn.connectionTune
- (Integer.MAX_VALUE,
+ (getChannelMax(),
org.apache.qpid.transport.network.ConnectionBinding.MAX_FRAME_SIZE,
0, getHeartbeatMax());
conn.setAuthorizationID(ss.getAuthorizationID());
@@ -140,19 +143,42 @@ public class ServerDelegate extends Conn
return Integer.MAX_VALUE;
}
- @Override public void connectionSecureOk(Connection conn, ConnectionSecureOk ok)
+ protected int getChannelMax()
+ {
+ return Integer.MAX_VALUE;
+ }
+
+ @Override
+ public void connectionSecureOk(Connection conn, ConnectionSecureOk ok)
{
secure(conn, ok.getResponse());
}
- @Override public void connectionTuneOk(Connection conn, ConnectionTuneOk ok)
+ @Override
+ public void connectionTuneOk(Connection conn, ConnectionTuneOk ok)
{
+ int okChannelMax = ok.getChannelMax();
+ if (okChannelMax > getChannelMax())
+ {
+ _logger.error("Connection '" + conn.getConnectionId() + "' being severed, " +
+ "client connectionTuneOk returned a channelMax (" + okChannelMax +
+ ") above the servers offered limit (" + getChannelMax() +")");
+
+ //Due to the error we must forcefully close the connection without negotiation
+ conn.getSender().close();
+ return;
+ }
+
+ //0 means no implied limit, except available server resources
+ //(or that forced by protocol limitations [0xFFFF])
+ conn.setChannelMax(okChannelMax == 0 ? Connection.MAX_CHANNEL_MAX : okChannelMax);
}
- @Override public void connectionOpen(Connection conn, ConnectionOpen open)
+ @Override
+ public void connectionOpen(Connection conn, ConnectionOpen open)
{
- conn.connectionOpenOk(Collections.EMPTY_LIST);
+ conn.connectionOpenOk(Collections.emptyList());
conn.setState(OPEN);
}
@@ -168,7 +194,8 @@ public class ServerDelegate extends Conn
return new Session(conn, new Binary(atc.getName()), 0);
}
- @Override public void sessionAttach(Connection conn, SessionAttach atc)
+ @Override
+ public void sessionAttach(Connection conn, SessionAttach atc)
{
Session ssn = getSession(conn, atc);
conn.map(ssn, atc.getChannel());
Modified: qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java (original)
+++ qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java Tue Feb 8 16:16:49 2011
@@ -52,7 +52,6 @@ public class IoNetworkTransport implemen
private long timeout = 60000;
private ConnectionSettings settings;
- @Override
public void init(ConnectionSettings settings)
{
try
@@ -84,20 +83,17 @@ public class IoNetworkTransport implemen
}
}
- @Override
public void receiver(Receiver<ByteBuffer> delegate)
{
receiver = new IoReceiver(this, delegate,
2*settings.getReadBufferSize() , timeout);
}
- @Override
public Sender<ByteBuffer> sender()
{
return new IoSender(this, 2*settings.getWriteBufferSize(), timeout);
}
-
- @Override
+
public void close()
{
Modified: qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/network/mina/MINANetworkDriver.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/network/mina/MINANetworkDriver.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/network/mina/MINANetworkDriver.java (original)
+++ qpid/branches/qpid-2935/qpid/java/common/src/main/java/org/apache/qpid/transport/network/mina/MINANetworkDriver.java Tue Feb 8 16:16:49 2011
@@ -83,6 +83,14 @@ public class MINANetworkDriver extends I
private static final Logger _logger = LoggerFactory.getLogger(MINANetworkDriver.class);
+ static
+ {
+ org.apache.mina.common.ByteBuffer.setUseDirectBuffers(Boolean.getBoolean("amqj.enableDirectBuffers"));
+
+ //override the MINA defaults to prevent use of the PooledByteBufferAllocator
+ org.apache.mina.common.ByteBuffer.setAllocator(new SimpleByteBufferAllocator());
+ }
+
public MINANetworkDriver(boolean useNIO, int processors, boolean executorPool, boolean protectIO)
{
_useNIO = useNIO;
@@ -209,14 +217,6 @@ public class MINANetworkDriver extends I
// connector
}
- org.apache.mina.common.ByteBuffer.setUseDirectBuffers(Boolean.getBoolean("amqj.enableDirectBuffers"));
- // the MINA default is currently to use the pooled allocator although this may change in future
- // once more testing of the performance of the simple allocator has been done
- if (!Boolean.getBoolean("amqj.enablePooledAllocator"))
- {
- org.apache.mina.common.ByteBuffer.setAllocator(new SimpleByteBufferAllocator());
- }
-
SocketConnectorConfig cfg = (SocketConnectorConfig) _socketConnector.getDefaultConfig();
String s = "";
StackTraceElement[] trace = Thread.currentThread().getStackTrace();
Modified: qpid/branches/qpid-2935/qpid/java/common/src/test/java/org/apache/qpid/thread/ThreadFactoryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/common/src/test/java/org/apache/qpid/thread/ThreadFactoryTest.java?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/common/src/test/java/org/apache/qpid/thread/ThreadFactoryTest.java (original)
+++ qpid/branches/qpid-2935/qpid/java/common/src/test/java/org/apache/qpid/thread/ThreadFactoryTest.java Tue Feb 8 16:16:49 2011
@@ -1,4 +1,3 @@
-package org.apache.qpid.thread;
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -20,18 +19,22 @@ package org.apache.qpid.thread;
*
*/
+package org.apache.qpid.thread;
import junit.framework.TestCase;
+/**
+ * Tests the ThreadFactory.
+ */
public class ThreadFactoryTest extends TestCase
{
public void testThreadFactory()
{
- Class threadFactoryClass = null;
+ Class<? extends ThreadFactory> threadFactoryClass = null;
try
{
threadFactoryClass = Class.forName(System.getProperty("qpid.thread_factory",
- "org.apache.qpid.thread.DefaultThreadFactory"));
+ "org.apache.qpid.thread.DefaultThreadFactory")).asSubclass(ThreadFactory.class);
}
// If the thread factory class was wrong it will flagged way before it gets here.
catch(Exception e)
@@ -41,20 +44,19 @@ public class ThreadFactoryTest extends T
assertEquals(threadFactoryClass, Threading.getThreadFactory().getClass());
}
-
- public void testThreadCreate()
+
+ /**
+ * Tests creating a thread without a priority. Also verifies that the factory sets the
+ * uncaught exception handler so uncaught exceptions are logged to SLF4J.
+ */
+ public void testCreateThreadWithDefaultPriority()
{
- Runnable r = new Runnable(){
-
- public void run(){
-
- }
- };
+ Runnable r = createRunnable();
Thread t = null;
try
{
- t = Threading.getThreadFactory().createThread(r,5);
+ t = Threading.getThreadFactory().createThread(r);
}
catch(Exception e)
{
@@ -62,6 +64,41 @@ public class ThreadFactoryTest extends T
}
assertNotNull(t);
- assertEquals(5,t.getPriority());
+ assertEquals(Thread.NORM_PRIORITY, t.getPriority());
+ assertTrue(t.getUncaughtExceptionHandler() instanceof LoggingUncaughtExceptionHandler);
+ }
+
+ /**
+ * Tests creating thread with a priority. Also verifies that the factory sets the
+ * uncaught exception handler so uncaught exceptions are logged to SLF4J.
+ */
+ public void testCreateThreadWithSpecifiedPriority()
+ {
+ Runnable r = createRunnable();
+
+ Thread t = null;
+ try
+ {
+ t = Threading.getThreadFactory().createThread(r, 4);
+ }
+ catch(Exception e)
+ {
+ fail("Error creating thread using Qpid thread factory");
+ }
+
+ assertNotNull(t);
+ assertEquals(4, t.getPriority());
+ assertTrue(t.getUncaughtExceptionHandler() instanceof LoggingUncaughtExceptionHandler);
+ }
+
+ private Runnable createRunnable()
+ {
+ Runnable r = new Runnable(){
+
+ public void run(){
+
+ }
+ };
+ return r;
}
}
Modified: qpid/branches/qpid-2935/qpid/java/genpom
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-2935/qpid/java/genpom?rev=1068464&r1=1068463&r2=1068464&view=diff
==============================================================================
--- qpid/branches/qpid-2935/qpid/java/genpom (original)
+++ qpid/branches/qpid-2935/qpid/java/genpom Tue Feb 8 16:16:49 2011
@@ -32,9 +32,11 @@ parser.add_option("-a", "--artifact")
parser.add_option("-v", "--version")
parser.add_option("-d", "--description", default="")
parser.add_option("-u", "--url", default="")
-parser.add_option("-i", "--ignore", action="store_true", help="ignore missing poms")
+parser.add_option("-m", "--modules", help="modules dependencies")
+parser.add_option("-p", "--prefix", help="prefix of the project's artifacts names")
+parser.add_option("-i", "--ignore", action="store_true", help="ignore missing deps")
parser.add_option("-s", "--search-path", action="append",
- help="the path to search for poms")
+ help="the path to search for deps")
parser.add_option("-S", "--scope", metavar="ARTIFACT=SCOPE", action="append",
default=[],
help="specify scope for an artifact")
@@ -62,16 +64,18 @@ if opts.version is None:
if opts.name is None and opts.artifact is None:
die("one of name or artifact must be supplied")
+if opts.prefix is not None:
+ opts.artifact = opts.prefix + "-" + opts.artifact
+
if opts.name is None:
opts.name = opts.artifact
if opts.artifact is None:
opts.artifact = opts.name
-def lookup(pom, attr):
- nd = pom["project"][attr]
+def lookup(dep, attr):
+ nd = dep["dep"][attr]
if nd is None:
- nd = pom["project/parent"][attr]
if nd is None:
return None
return nd.text()
@@ -90,17 +94,35 @@ for s in opts.scope:
scopes[m.group(1)] = m.group(2)
deps = []
+module_depends = []
+if opts.modules is not None:
+ module_depends = opts.modules.replace("/", "-").split();
+
+for module in module_depends:
+ if opts.prefix is None:
+ artifactId = module
+ else:
+ artifactId = opts.prefix + "-" + module
+
+ deps.append("""
+ <dependency>
+ <groupId>%s</groupId>
+ <artifactId>%s</artifactId>
+ <version>%s</version>
+ </dependency>
+""" % (opts.group, artifactId, opts.version))
+
for jar in jars:
base, ext = os.path.splitext(os.path.basename(jar))
- pom = search(expanded_path, "%s.pom" % base)
- if pom is None:
+ dep = search(expanded_path, "%s.xml" % base)
+ if dep is None:
if opts.ignore:
continue
else:
- die("unable to locate pom for %s" % jar)
- group = lookup(pom, "groupId")
- artifactId = lookup(pom, "artifactId")
- version = lookup(pom, "version")
+ die("unable to locate xml for %s" % jar)
+ group = lookup(dep, "groupId")
+ artifactId = lookup(dep, "artifactId")
+ version = lookup(dep, "version")
deps.append("""
<dependency>
<groupId>%s</groupId>
@@ -119,22 +141,27 @@ TEMPLATE = """<?xml version="1.0" encodi
<groupId>%(group)s</groupId>
<artifactId>%(artifact)s</artifactId>
<version>%(version)s</version>
+
<name>%(name)s</name>
<url>%(url)s</url>
<description>%(description)s</description>
+
<organization>
<name>The Apache Software Foundation</name>
<url>http://www.apache.org</url>
</organization>
+
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
- <url>/LICENSE.txt</url>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
</license>
</licenses>
+
<dependencies>
%(dependencies)s
</dependencies>
+
</project>
"""
Propchange: qpid/branches/qpid-2935/qpid/java/management/client/src/main/java/org/apache/qpid/management/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management:443187-703176
/qpid/branches/java-broker-0-10/qpid/java/management/client/src/main/java/org/apache/qpid/management:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/client/src/main/java/org/apache/qpid/management:805429-821809
+/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/client/src/test/java/org/apache/qpid/management/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/incubator/qpid/trunk/qpid/java/management/client/src/test/java/org/apache/qpid/management:443187-703176
/qpid/branches/java-broker-0-10/qpid/java/management/client/src/test/java/org/apache/qpid/management:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/client/src/test/java/org/apache/qpid/management:805429-821809
+/qpid/trunk/qpid/java/management/client/src/test/java/org/apache/qpid/management:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java:805429-821809
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/management/ConfigurationManagement.java:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java:805429-821809
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/management/LoggingManagement.java:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -2,3 +2,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java:805429-821809
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/ManagedBroker.java:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java:805429-821809
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/ManagedConnection.java:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java:805429-821809
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ManagedExchange.java:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -2,3 +2,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java:805429-821809
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/ManagedQueue.java:753219-753220,753253,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java:805429-821809
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/management/UserManagement.java:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -2,3 +2,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java:805429-821809
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanAttribute.java:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -2,3 +2,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java:805429-821809
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanConstructor.java:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -2,3 +2,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java:805429-821809
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanDescription.java:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -2,3 +2,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java:805429-821809
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanOperation.java:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -2,3 +2,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java:805429-821809
/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanOperationParameter.java:753219-753220,753253,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/eclipse-plugin/src/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/qpid/branches/java-broker-0-10/qpid/java/management/eclipse-plugin/src:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/eclipse-plugin/src:805429-821809
/qpid/branches/jmx_mc_gsoc09/qpid/java/management/eclipse-plugin/src:788755
+/qpid/trunk/qpid/java/management/eclipse-plugin/src:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java:443187-726139
/qpid/branches/java-broker-0-10/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java:805429-821809
+/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java:443187-726139
/qpid/branches/java-broker-0-10/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java:805429-821809
+/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java:443187-726139
/qpid/branches/java-broker-0-10/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java:805429-821809
+/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java:443187-726139
/qpid/branches/java-broker-0-10/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java:805429-821809
+/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java:1061302-1068442
Propchange: qpid/branches/qpid-2935/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 8 16:16:49 2011
@@ -1,3 +1,4 @@
/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc:443187-726139
/qpid/branches/java-broker-0-10/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc:795950-829653
/qpid/branches/java-network-refactor/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc:805429-821809
+/qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc:1061302-1068442
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org