You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ru...@apache.org on 2007/11/28 16:52:13 UTC
svn commit: r599036 - in /incubator/qpid/branches/M2.1.1: ./ java/
java/broker/ java/broker/src/main/java/org/apache/qpid/server/exchange/
java/broker/src/main/java/org/apache/qpid/server/plugins/
java/broker/src/main/java/org/apache/qpid/server/protoc...
Author: rupertlssmith
Date: Wed Nov 28 07:52:11 2007
New Revision: 599036
URL: http://svn.apache.org/viewvc?rev=599036&view=rev
Log:
Merged revisions 598371-598586 via svnmerge from
https://svn.apache.org/repos/asf/incubator/qpid/branches/M2.1
........
r598371 | ritchiem | 2007-11-26 18:17:12 +0000 (Mon, 26 Nov 2007) | 1 line
Qpid-559 : OSGi Patch Provided by Aidan Skinner
........
r598572 | ritchiem | 2007-11-27 09:44:28 +0000 (Tue, 27 Nov 2007) | 1 line
Add Target to ignores list.
........
r598586 | rupertlssmith | 2007-11-27 10:51:29 +0000 (Tue, 27 Nov 2007) | 1 line
Now outputs test results in xml format to the surefire reports directory.
........
Added:
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeType.java
- copied unchanged from r598586, incubator/qpid/branches/M2.1/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeType.java
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/plugins/
- copied from r598586, incubator/qpid/branches/M2.1/java/broker/src/main/java/org/apache/qpid/server/plugins/
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/plugins/Activator.java
- copied unchanged from r598586, incubator/qpid/branches/M2.1/java/broker/src/main/java/org/apache/qpid/server/plugins/Activator.java
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java
- copied unchanged from r598586, incubator/qpid/branches/M2.1/java/broker/src/main/java/org/apache/qpid/server/plugins/PluginManager.java
incubator/qpid/branches/M2.1.1/java/plugins/ (props changed)
- copied from r598586, incubator/qpid/branches/M2.1/java/plugins/
incubator/qpid/branches/M2.1.1/java/plugins/pom.xml
- copied unchanged from r598586, incubator/qpid/branches/M2.1/java/plugins/pom.xml
incubator/qpid/branches/M2.1.1/java/plugins/src/
- copied from r598586, incubator/qpid/branches/M2.1/java/plugins/src/
incubator/qpid/branches/M2.1.1/java/plugins/src/main/
- copied from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/
- copied from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/org/
- copied from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/org/
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/org/apache/
- copied from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/org/apache/
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/org/apache/qpid/
- copied from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/org/apache/qpid/
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/org/apache/qpid/extras/
- copied from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/org/apache/qpid/extras/
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/org/apache/qpid/extras/Activator.java
- copied unchanged from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/org/apache/qpid/extras/Activator.java
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/
- copied from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/diagnostic/
- copied from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/diagnostic/
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/diagnostic/DiagnosticExchange.java
- copied unchanged from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/diagnostic/DiagnosticExchange.java
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/diagnostic/DiagnosticExchangeType.java
- copied unchanged from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/diagnostic/DiagnosticExchangeType.java
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/example/
- copied from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/example/
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/example/TestExchange.java
- copied unchanged from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/example/TestExchange.java
incubator/qpid/branches/M2.1.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/example/TestExchangeType.java
- copied unchanged from r598586, incubator/qpid/branches/M2.1/java/plugins/src/main/java/org/apache/qpid/extras/exchanges/example/TestExchangeType.java
incubator/qpid/branches/M2.1.1/java/systests/src/main/java/org/apache/qpid/server/plugins/
- copied from r598586, incubator/qpid/branches/M2.1/java/systests/src/main/java/org/apache/qpid/server/plugins/
incubator/qpid/branches/M2.1.1/java/systests/src/main/java/org/apache/qpid/server/plugins/PluginTest.java
- copied unchanged from r598586, incubator/qpid/branches/M2.1/java/systests/src/main/java/org/apache/qpid/server/plugins/PluginTest.java
Modified:
incubator/qpid/branches/M2.1.1/ (props changed)
incubator/qpid/branches/M2.1.1/java/broker/pom.xml
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DestNameExchange.java
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DestWildExchange.java
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/protocol/ExchangeInitialiser.java
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/util/NullApplicationRegistry.java
incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java
incubator/qpid/branches/M2.1.1/java/pom.xml
incubator/qpid/branches/M2.1.1/java/systests/pom.xml
incubator/qpid/branches/M2.1.1/java/systests/src/main/java/org/apache/qpid/server/util/TestApplicationRegistry.java
Propchange: incubator/qpid/branches/M2.1.1/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed Nov 28 07:52:11 2007
@@ -1 +1 @@
-/incubator/qpid/branches/M2:1-568187,574873,574876,575253,575663-578604,587061-587924,587926-590773,590775-591035,591037-591059,591061-591090,591092-592353 /incubator/qpid/branches/M2.1:1-598104,598106-598323,598325-598361
+/incubator/qpid/branches/M2:1-568187,574873,574876,575253,575663-578604,587061-587924,587926-590773,590775-591035,591037-591059,591061-591090,591092-592353 /incubator/qpid/branches/M2.1:1-598104,598106-598323,598325-598361,598371-598586
Modified: incubator/qpid/branches/M2.1.1/java/broker/pom.xml
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/broker/pom.xml?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/broker/pom.xml (original)
+++ incubator/qpid/branches/M2.1.1/java/broker/pom.xml Wed Nov 28 07:52:11 2007
@@ -89,6 +89,16 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.framework</artifactId>
+ <version>1.0.0</version>
+ </dependency>
</dependencies>
<build>
Modified: incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java (original)
+++ incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java Wed Nov 28 07:52:11 2007
@@ -20,56 +20,88 @@
*/
package org.apache.qpid.server.exchange;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.apache.log4j.Logger;
+import org.apache.commons.configuration.Configuration;
+
import org.apache.qpid.AMQException;
import org.apache.qpid.AMQUnknownExchangeType;
-import org.apache.qpid.exchange.ExchangeDefaults;
import org.apache.qpid.framing.AMQShortString;
+import org.apache.qpid.server.registry.ApplicationRegistry;
import org.apache.qpid.server.virtualhost.VirtualHost;
public class DefaultExchangeFactory implements ExchangeFactory
{
private static final Logger _logger = Logger.getLogger(DefaultExchangeFactory.class);
- private Map<AMQShortString, Class<? extends Exchange>> _exchangeClassMap = new HashMap<AMQShortString, Class<? extends Exchange>>();
+ private Map<AMQShortString, ExchangeType<? extends Exchange>> _exchangeClassMap = new HashMap<AMQShortString, ExchangeType<? extends Exchange>>();
private final VirtualHost _host;
public DefaultExchangeFactory(VirtualHost host)
{
_host = host;
- _exchangeClassMap.put(ExchangeDefaults.DIRECT_EXCHANGE_CLASS, org.apache.qpid.server.exchange.DestNameExchange.class);
- _exchangeClassMap.put(ExchangeDefaults.TOPIC_EXCHANGE_CLASS, org.apache.qpid.server.exchange.DestWildExchange.class);
- _exchangeClassMap.put(ExchangeDefaults.HEADERS_EXCHANGE_CLASS, org.apache.qpid.server.exchange.HeadersExchange.class);
- _exchangeClassMap.put(ExchangeDefaults.FANOUT_EXCHANGE_CLASS, org.apache.qpid.server.exchange.FanoutExchange.class);
+ registerExchangeType(DestNameExchange.TYPE);
+ registerExchangeType(DestWildExchange.TYPE);
+ registerExchangeType(HeadersExchange.TYPE);
+ registerExchangeType(FanoutExchange.TYPE);
+ }
+ public void registerExchangeType(ExchangeType<? extends Exchange> type)
+ {
+ _exchangeClassMap.put(type.getName(), type);
+ }
+
+ public Collection<ExchangeType<? extends Exchange>> getRegisteredTypes()
+ {
+ return _exchangeClassMap.values();
}
public Exchange createExchange(AMQShortString exchange, AMQShortString type, boolean durable, boolean autoDelete,
int ticket)
throws AMQException
{
- Class<? extends Exchange> exchClass = _exchangeClassMap.get(type);
- if (exchClass == null)
+ ExchangeType<? extends Exchange> exchType = _exchangeClassMap.get(type);
+ if (exchType == null)
{
throw new AMQUnknownExchangeType("Unknown exchange type: " + type);
}
- try
- {
- Exchange e = exchClass.newInstance();
- e.initialise(_host, exchange, durable, ticket, autoDelete);
- return e;
- }
- catch (InstantiationException e)
- {
- throw new AMQException("Unable to create exchange: " + e, e);
- }
- catch (IllegalAccessException e)
+ Exchange e = exchType.newInstance(_host, exchange, durable, ticket, autoDelete);
+ return e;
+ }
+
+ public void initialise(Configuration hostConfig)
+ {
+ for(Object className : hostConfig.getList("custom-exchanges.class-name"))
{
- throw new AMQException("Unable to create exchange: " + e, e);
+ try
+ {
+ ExchangeType<?> exchangeType = ApplicationRegistry.getInstance().getPluginManager().getExchanges().get(String.valueOf(className));
+ if (exchangeType == null)
+ {
+ _logger.error("No such custom exchange class found: \""+String.valueOf(className)+"\"");
+ return;
+ }
+ Class<? extends ExchangeType> exchangeTypeClass = exchangeType.getClass();
+ ExchangeType type = exchangeTypeClass.newInstance();
+ registerExchangeType(type);
+ }
+ catch (ClassCastException classCastEx)
+ {
+ _logger.error("No custom exchange class: \""+String.valueOf(className)+"\" cannot be registered as it does not extend class \""+ExchangeType.class+"\"");
+ }
+ catch (IllegalAccessException e)
+ {
+ _logger.error("Cannot create custom exchange class: \""+String.valueOf(className)+"\"",e);
+ }
+ catch (InstantiationException e)
+ {
+ _logger.error("Cannot create custom exchange class: \""+String.valueOf(className)+"\"",e);
+ }
}
+
}
}
Modified: incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DestNameExchange.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DestNameExchange.java?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DestNameExchange.java (original)
+++ incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DestNameExchange.java Wed Nov 28 07:52:11 2007
@@ -42,6 +42,7 @@
import org.apache.qpid.server.management.MBeanDescription;
import org.apache.qpid.server.queue.AMQMessage;
import org.apache.qpid.server.queue.AMQQueue;
+import org.apache.qpid.server.virtualhost.VirtualHost;
public class DestNameExchange extends AbstractExchange
{
@@ -51,6 +52,36 @@
* Maps from queue name to queue instances
*/
private final Index _index = new Index();
+
+ public static final ExchangeType<DestNameExchange> TYPE = new ExchangeType<DestNameExchange>()
+ {
+
+ public AMQShortString getName()
+ {
+ return ExchangeDefaults.DIRECT_EXCHANGE_CLASS;
+ }
+
+ public Class<DestNameExchange> getExchangeClass()
+ {
+ return DestNameExchange.class;
+ }
+
+ public DestNameExchange newInstance(VirtualHost host,
+ AMQShortString name,
+ boolean durable,
+ int ticket,
+ boolean autoDelete) throws AMQException
+ {
+ DestNameExchange exch = new DestNameExchange();
+ exch.initialise(host,name,durable,ticket,autoDelete);
+ return exch;
+ }
+
+ public AMQShortString getDefaultExchangeName()
+ {
+ return ExchangeDefaults.DIRECT_EXCHANGE_NAME;
+ }
+ };
/**
* MBean class implementing the management interfaces.
Modified: incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DestWildExchange.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DestWildExchange.java?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DestWildExchange.java (original)
+++ incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/DestWildExchange.java Wed Nov 28 07:52:11 2007
@@ -30,6 +30,7 @@
import org.apache.qpid.server.management.MBeanDescription;
import org.apache.qpid.server.queue.AMQMessage;
import org.apache.qpid.server.queue.AMQQueue;
+import org.apache.qpid.server.virtualhost.VirtualHost;
import javax.management.JMException;
import javax.management.MBeanException;
@@ -48,6 +49,38 @@
public class DestWildExchange extends AbstractExchange
{
+
+ public static final ExchangeType<DestWildExchange> TYPE = new ExchangeType<DestWildExchange>()
+ {
+
+ public AMQShortString getName()
+ {
+ return ExchangeDefaults.TOPIC_EXCHANGE_CLASS;
+ }
+
+ public Class<DestWildExchange> getExchangeClass()
+ {
+ return DestWildExchange.class;
+ }
+
+ public DestWildExchange newInstance(VirtualHost host,
+ AMQShortString name,
+ boolean durable,
+ int ticket,
+ boolean autoDelete) throws AMQException
+ {
+ DestWildExchange exch = new DestWildExchange();
+ exch.initialise(host, name, durable, ticket, autoDelete);
+ return exch;
+ }
+
+ public AMQShortString getDefaultExchangeName()
+ {
+ return ExchangeDefaults.TOPIC_EXCHANGE_NAME;
+ }
+ };
+
+
private static final Logger _logger = Logger.getLogger(DestWildExchange.class);
private ConcurrentHashMap<AMQShortString, List<AMQQueue>> _routingKey2queues =
Modified: incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java (original)
+++ incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java Wed Nov 28 07:52:11 2007
@@ -20,6 +20,10 @@
*/
package org.apache.qpid.server.exchange;
+import java.util.Collection;
+
+import org.apache.commons.configuration.Configuration;
+
import org.apache.qpid.AMQException;
import org.apache.qpid.framing.AMQShortString;
@@ -29,4 +33,8 @@
Exchange createExchange(AMQShortString exchange, AMQShortString type, boolean durable, boolean autoDelete,
int ticket)
throws AMQException;
+
+ void initialise(Configuration hostConfig);
+
+ Collection<ExchangeType<? extends Exchange>> getRegisteredTypes();
}
Modified: incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java (original)
+++ incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java Wed Nov 28 07:52:11 2007
@@ -30,6 +30,7 @@
import org.apache.qpid.server.management.MBeanDescription;
import org.apache.qpid.server.queue.AMQMessage;
import org.apache.qpid.server.queue.AMQQueue;
+import org.apache.qpid.server.virtualhost.VirtualHost;
import javax.management.JMException;
import javax.management.MBeanException;
@@ -114,6 +115,36 @@
throw new AMQException("Exception occured in creating the direct exchange mbean", ex);
}
}
+
+ public static final ExchangeType<FanoutExchange> TYPE = new ExchangeType<FanoutExchange>()
+ {
+
+ public AMQShortString getName()
+ {
+ return ExchangeDefaults.FANOUT_EXCHANGE_CLASS;
+ }
+
+ public Class<FanoutExchange> getExchangeClass()
+ {
+ return FanoutExchange.class;
+ }
+
+ public FanoutExchange newInstance(VirtualHost host,
+ AMQShortString name,
+ boolean durable,
+ int ticket,
+ boolean autoDelete) throws AMQException
+ {
+ FanoutExchange exch = new FanoutExchange();
+ exch.initialise(host, name, durable, ticket, autoDelete);
+ return exch;
+ }
+
+ public AMQShortString getDefaultExchangeName()
+ {
+ return ExchangeDefaults.DIRECT_EXCHANGE_NAME;
+ }
+ };
public Map<AMQShortString, List<AMQQueue>> getBindings()
{
Modified: incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java (original)
+++ incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java Wed Nov 28 07:52:11 2007
@@ -32,6 +32,7 @@
import org.apache.qpid.server.management.MBeanDescription;
import org.apache.qpid.server.queue.AMQMessage;
import org.apache.qpid.server.queue.AMQQueue;
+import org.apache.qpid.server.virtualhost.VirtualHost;
import javax.management.JMException;
import javax.management.openmbean.ArrayType;
@@ -80,6 +81,37 @@
public class HeadersExchange extends AbstractExchange
{
private static final Logger _logger = Logger.getLogger(HeadersExchange.class);
+
+
+
+ public static final ExchangeType<HeadersExchange> TYPE = new ExchangeType<HeadersExchange>()
+ {
+
+ public AMQShortString getName()
+ {
+ return ExchangeDefaults.HEADERS_EXCHANGE_CLASS;
+ }
+
+ public Class<HeadersExchange> getExchangeClass()
+ {
+ return HeadersExchange.class;
+ }
+
+ public HeadersExchange newInstance(VirtualHost host, AMQShortString name, boolean durable, int ticket,
+ boolean autoDelete) throws AMQException
+ {
+ HeadersExchange exch = new HeadersExchange();
+ exch.initialise(host, name, durable, ticket, autoDelete);
+ return exch;
+ }
+
+ public AMQShortString getDefaultExchangeName()
+ {
+
+ return ExchangeDefaults.HEADERS_EXCHANGE_NAME;
+ }
+ };
+
private final List<Registration> _bindings = new CopyOnWriteArrayList<Registration>();
Modified: incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/protocol/ExchangeInitialiser.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/protocol/ExchangeInitialiser.java?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/protocol/ExchangeInitialiser.java (original)
+++ incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/protocol/ExchangeInitialiser.java Wed Nov 28 07:52:11 2007
@@ -23,18 +23,20 @@
import org.apache.qpid.AMQException;
import org.apache.qpid.exchange.ExchangeDefaults;
import org.apache.qpid.framing.AMQShortString;
+import org.apache.qpid.server.exchange.Exchange;
import org.apache.qpid.server.exchange.ExchangeFactory;
import org.apache.qpid.server.exchange.ExchangeRegistry;
+import org.apache.qpid.server.exchange.ExchangeType;
public class ExchangeInitialiser
{
public void initialise(ExchangeFactory factory, ExchangeRegistry registry) throws AMQException{
+ for (ExchangeType<? extends Exchange> type : factory.getRegisteredTypes())
+ {
+ define (registry, factory, type.getDefaultExchangeName(), type.getName());
+ }
+
define(registry, factory, ExchangeDefaults.DEFAULT_EXCHANGE_NAME, ExchangeDefaults.DIRECT_EXCHANGE_CLASS);
- define(registry, factory, ExchangeDefaults.DIRECT_EXCHANGE_NAME, ExchangeDefaults.DIRECT_EXCHANGE_CLASS);
- define(registry, factory, ExchangeDefaults.TOPIC_EXCHANGE_NAME, ExchangeDefaults.TOPIC_EXCHANGE_CLASS);
- define(registry, factory, ExchangeDefaults.HEADERS_EXCHANGE_NAME, ExchangeDefaults.HEADERS_EXCHANGE_CLASS);
- define(registry, factory, ExchangeDefaults.FANOUT_EXCHANGE_NAME, ExchangeDefaults.FANOUT_EXCHANGE_CLASS);
-
registry.setDefaultExchange(registry.getExchange(ExchangeDefaults.DEFAULT_EXCHANGE_NAME));
}
Modified: incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java (original)
+++ incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java Wed Nov 28 07:52:11 2007
@@ -34,6 +34,7 @@
import org.apache.qpid.server.management.ManagedObjectRegistry;
import org.apache.qpid.server.management.ManagementConfiguration;
import org.apache.qpid.server.management.NoopManagedObjectRegistry;
+import org.apache.qpid.server.plugins.PluginManager;
import org.apache.qpid.server.security.auth.manager.AuthenticationManager;
import org.apache.qpid.server.security.auth.database.ConfigurationFilePrincipalDatabaseManager;
import org.apache.qpid.server.security.auth.database.PrincipalDatabaseManager;
@@ -60,6 +61,8 @@
private final Map<String, VirtualHost> _virtualHosts = new ConcurrentHashMap<String, VirtualHost>();
+ private PluginManager _pluginManager;
+
public ConfigurationFileApplicationRegistry(File configurationURL) throws ConfigurationException
{
@@ -117,6 +120,8 @@
_managedObjectRegistry.start();
+ _pluginManager = new PluginManager(_configuration.getString("plugin-directory"));
+
initialiseVirtualHosts();
}
@@ -172,5 +177,10 @@
public Collection<String> getVirtualHostNames()
{
return getConfiguration().getList("virtualhosts.virtualhost.name");
+ }
+
+ public PluginManager getPluginManager()
+ {
+ return _pluginManager;
}
}
Modified: incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java (original)
+++ incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java Wed Nov 28 07:52:11 2007
@@ -24,6 +24,7 @@
import org.apache.commons.configuration.Configuration;
import org.apache.qpid.server.management.ManagedObjectRegistry;
+import org.apache.qpid.server.plugins.PluginManager;
import org.apache.qpid.server.security.auth.manager.AuthenticationManager;
import org.apache.qpid.server.security.auth.database.PrincipalDatabaseManager;
import org.apache.qpid.server.security.access.AccessManager;
@@ -68,4 +69,7 @@
VirtualHostRegistry getVirtualHostRegistry();
AccessManager getAccessManager();
+
+ PluginManager getPluginManager();
+
}
Modified: incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/util/NullApplicationRegistry.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/util/NullApplicationRegistry.java?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/util/NullApplicationRegistry.java (original)
+++ incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/util/NullApplicationRegistry.java Wed Nov 28 07:52:11 2007
@@ -29,6 +29,7 @@
import org.apache.commons.configuration.MapConfiguration;
import org.apache.qpid.server.management.ManagedObjectRegistry;
import org.apache.qpid.server.management.NoopManagedObjectRegistry;
+import org.apache.qpid.server.plugins.PluginManager;
import org.apache.qpid.server.registry.ApplicationRegistry;
import org.apache.qpid.server.security.auth.manager.AuthenticationManager;
import org.apache.qpid.server.security.auth.manager.PrincipalDatabaseAuthenticationManager;
@@ -51,6 +52,8 @@
private PrincipalDatabaseManager _databaseManager;
+ private PluginManager _pluginManager;
+
public NullApplicationRegistry()
{
@@ -76,7 +79,7 @@
VirtualHost dummyHost = new VirtualHost("test", getConfiguration());
_virtualHostRegistry.registerVirtualHost(dummyHost);
_virtualHostRegistry.setDefaultVirtualHostName("test");
-
+ _pluginManager = new PluginManager("");
_configuration.addProperty("heartbeat.delay", 10 * 60); // 10 minutes
}
@@ -117,6 +120,12 @@
{
return _accessManager;
}
+
+ public PluginManager getPluginManager()
+ {
+ return _pluginManager;
+ }
}
+
Modified: incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java (original)
+++ incubator/qpid/branches/M2.1.1/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java Wed Nov 28 07:52:11 2007
@@ -139,6 +139,7 @@
_queueRegistry = new DefaultQueueRegistry(this);
_exchangeFactory = new DefaultExchangeFactory(this);
+ _exchangeFactory.initialise(hostConfig);
_exchangeRegistry = new DefaultExchangeRegistry(this);
if (store != null)
Propchange: incubator/qpid/branches/M2.1.1/java/plugins/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Nov 28 07:52:11 2007
@@ -0,0 +1 @@
+target
Modified: incubator/qpid/branches/M2.1.1/java/pom.xml
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/pom.xml?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/pom.xml (original)
+++ incubator/qpid/branches/M2.1.1/java/pom.xml Wed Nov 28 07:52:11 2007
@@ -150,6 +150,7 @@
<module>common</module>
<module>broker</module>
<module>client</module>
+ <module>plugins</module>
<module>systests</module>
<module>perftests</module>
<module>integrationtests</module>
Modified: incubator/qpid/branches/M2.1.1/java/systests/pom.xml
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/systests/pom.xml?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/systests/pom.xml (original)
+++ incubator/qpid/branches/M2.1.1/java/systests/pom.xml Wed Nov 28 07:52:11 2007
@@ -82,6 +82,14 @@
<includes>
<include>**/*Test.class</include>
</includes>
+
+ <systemProperties>
+ <property>
+ <name>example.plugin.target</name>
+ <value>${basedir}/${topDirectoryLocation}/plugins/target</value>
+ </property>
+ </systemProperties>
+
<excludes>
<exclude>**/testcases/ImmediateMessageTest.class</exclude>
<exclude>**/testcases/MandatoryMessageTest.class</exclude>
@@ -107,8 +115,8 @@
<testrunneroptions>
<option>-X:decorators "org.apache.qpid.test.framework.qpid.InVMBrokerDecorator:org.apache.qpid.test.framework.qpid.AMQPFeatureDecorator"</option>
- <option>-o</option>
- <option>--csv</option>
+ <option>-o ${basedir}/target/surefire-reports</option>
+ <option>--xml</option>
</testrunneroptions>
<testrunnerproperties>
@@ -160,4 +168,5 @@
</resources>
</build>
</project>
+
Modified: incubator/qpid/branches/M2.1.1/java/systests/src/main/java/org/apache/qpid/server/util/TestApplicationRegistry.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.1/java/systests/src/main/java/org/apache/qpid/server/util/TestApplicationRegistry.java?rev=599036&r1=599035&r2=599036&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.1/java/systests/src/main/java/org/apache/qpid/server/util/TestApplicationRegistry.java (original)
+++ incubator/qpid/branches/M2.1.1/java/systests/src/main/java/org/apache/qpid/server/util/TestApplicationRegistry.java Wed Nov 28 07:52:11 2007
@@ -23,6 +23,7 @@
import org.apache.qpid.server.exchange.ExchangeFactory;
import org.apache.qpid.server.exchange.ExchangeRegistry;
import org.apache.qpid.server.management.ManagedObjectRegistry;
+import org.apache.qpid.server.plugins.PluginManager;
import org.apache.qpid.server.queue.QueueRegistry;
import org.apache.qpid.server.registry.ApplicationRegistry;
import org.apache.qpid.server.registry.IApplicationRegistry;
@@ -145,5 +146,11 @@
{
return _messageStore;
}
+
+ public PluginManager getPluginManager()
+ {
+ return null;
+ }
}
+