Author: jgapuz
Date: Fri Jun 30 02:31:41 2006
New Revision: 418212
URL: http://svn.apache.org/viewvc?rev=418212&view=rev
Log:
added to support SwiftMQ.
Added:
incubator/activemq/trunk/tooling/maven-activemq-perf-plugin/src/main/java/org/apache/activemq/tool/spi/SwiftMQPojoSPI.java
Added:
incubator/activemq/trunk/tooling/maven-activemq-perf-plugin/src/main/java/org/apache/activemq/tool/spi/SwiftMQPojoSPI.java
URL:
http://svn.apache.org/viewvc/incubator/activemq/trunk/tooling/maven-activemq-perf-plugin/src/main/java/org/apache/activemq/tool/spi/SwiftMQPojoSPI.java?rev=418212&view=auto
==============================================================================
---
incubator/activemq/trunk/tooling/maven-activemq-perf-plugin/src/main/java/org/apache/activemq/tool/spi/SwiftMQPojoSPI.java
(added)
+++
incubator/activemq/trunk/tooling/maven-activemq-perf-plugin/src/main/java/org/apache/activemq/tool/spi/SwiftMQPojoSPI.java
Fri Jun 30 02:31:41 2006
@@ -0,0 +1,57 @@
+package org.apache.activemq.tool.spi;
+
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.naming.InitialContext;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import java.util.Properties;
+
+
+public class SwiftMQPojoSPI extends ClassLoaderSPIConnectionFactory {
+ public static final String KEY_BROKER_URL = "brokerUrl";
+ public static final String KEY_DEST_TYPE = "destType";
+ public static final String DEFAULT_URL = "smqp://localhost:4001";
+ public static final String SWIFTMQ_CONTEXT =
"com.swiftmq.jndi.InitialContextFactoryImpl";
+ public static final String SMQP = "com.swiftmq.jms.smqp";
+
+ protected ConnectionFactory instantiateConnectionFactory(Properties
settings) throws Exception {
+ String destType = settings.getProperty(KEY_DEST_TYPE);
+ ConnectionFactory factory;
+
+ InitialContext context = getInitialContext(settings);
+
+ if (destType != null && destType == "queue") {
+ factory = (ConnectionFactory)
context.lookup("QueueConnectionFactory");
+ } else {
+ factory = (ConnectionFactory)
context.lookup("TopicConnectionFactory");
+ }
+
+ return factory;
+ }
+
+ public void configureConnectionFactory(ConnectionFactory jmsFactory,
Properties settings) throws Exception {
+ //To change body of implemented methods use File | Settings | File
Templates.
+ }
+
+ public InitialContext getInitialContext(Properties settings) throws
Exception {
+ String url = settings.getProperty(KEY_BROKER_URL);
+
+ Properties properties = new Properties();
+ properties.put(Context.INITIAL_CONTEXT_FACTORY, SWIFTMQ_CONTEXT);
+ properties.put(Context.URL_PKG_PREFIXES, SMQP);
+
+ if (url != null && url.length() > 0) {
+ properties.put(Context.PROVIDER_URL, url);
+ } else {
+ properties.put(Context.PROVIDER_URL, DEFAULT_URL);
+ }
+
+ try {
+ return new InitialContext(properties);
+ } catch (NamingException e) {
+ throw new JMSException("Error creating InitialContext ",
e.toString());
+ }
+ }
+
+}