You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2009/06/15 19:44:50 UTC
svn commit: r784883 - in /activemq/sandbox/activemq-flow:
activemq-all/src/test/java/org/apache/activemq/legacy/
activemq-bio/src/main/java/org/apache/activemq/transport/tcp/
activemq-broker/src/main/java/org/apache/activemq/apollo/broker/
activemq-bro...
Author: chirino
Date: Mon Jun 15 17:44:49 2009
New Revision: 784883
URL: http://svn.apache.org/viewvc?rev=784883&view=rev
Log:
- SslContext is a data holder that can be shared across modules so move it into util for now.
- Started a vm transport impl.
- Starting to move client test cases into the client module.
Added:
activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/
activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/
activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/VMTransportFactory.java (with props)
activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/package.html (with props)
activemq/sandbox/activemq-flow/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/transport/
activemq/sandbox/activemq-flow/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/transport/vm
activemq/sandbox/activemq-flow/activemq-broker/src/test/java/org/apache/activemq/apollo/transport/
activemq/sandbox/activemq-flow/activemq-broker/src/test/java/org/apache/activemq/apollo/transport/vm/
activemq/sandbox/activemq-flow/activemq-broker/src/test/java/org/apache/activemq/apollo/transport/vm/VMTransportTest.java
activemq/sandbox/activemq-flow/activemq-client/src/test/java/org/
activemq/sandbox/activemq-flow/activemq-client/src/test/java/org/apache/
activemq/sandbox/activemq-flow/activemq-client/src/test/java/org/apache/activemq/
activemq/sandbox/activemq-flow/activemq-client/src/test/java/org/apache/activemq/legacy/
activemq/sandbox/activemq-flow/activemq-client/src/test/java/org/apache/activemq/legacy/ActiveMQConnectionFactoryTest.java
- copied unchanged from r784806, activemq/sandbox/activemq-flow/activemq-all/src/test/java/org/apache/activemq/legacy/ActiveMQConnectionFactoryTest.java
activemq/sandbox/activemq-flow/activemq-util/src/main/java/org/apache/activemq/util/SslContext.java
- copied, changed from r784806, activemq/sandbox/activemq-flow/activemq-transport/src/main/java/org/apache/activemq/broker/SslContext.java
Removed:
activemq/sandbox/activemq-flow/activemq-all/src/test/java/org/apache/activemq/legacy/ActiveMQConnectionFactoryTest.java
activemq/sandbox/activemq-flow/activemq-transport/src/main/java/org/apache/activemq/broker/SslContext.java
Modified:
activemq/sandbox/activemq-flow/activemq-bio/src/main/java/org/apache/activemq/transport/tcp/SslTransportFactory.java
activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/Broker.java
activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/VirtualHost.java
activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/legacy/broker/BrokerService.java
activemq/sandbox/activemq-flow/activemq-kaha/src/main/java/org/apache/activemq/broker/store/kahadb/KahaDBStore.java
activemq/sandbox/activemq-flow/activemq-network/src/main/java/org/apache/activemq/network/DiscoveryNetworkConnector.java
activemq/sandbox/activemq-flow/activemq-spring/src/main/java/org/apache/activemq/spring/SpringSslContext.java
activemq/sandbox/activemq-flow/activemq-store/src/main/java/org/apache/activemq/broker/store/Store.java
activemq/sandbox/activemq-flow/activemq-store/src/main/java/org/apache/activemq/broker/store/memory/MemoryStore.java
activemq/sandbox/activemq-flow/activemq-transport/src/main/java/org/apache/activemq/transport/pipe/PipeTransportFactory.java
Modified: activemq/sandbox/activemq-flow/activemq-bio/src/main/java/org/apache/activemq/transport/tcp/SslTransportFactory.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-bio/src/main/java/org/apache/activemq/transport/tcp/SslTransportFactory.java?rev=784883&r1=784882&r2=784883&view=diff
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-bio/src/main/java/org/apache/activemq/transport/tcp/SslTransportFactory.java (original)
+++ activemq/sandbox/activemq-flow/activemq-bio/src/main/java/org/apache/activemq/transport/tcp/SslTransportFactory.java Mon Jun 15 17:44:49 2009
@@ -31,11 +31,11 @@
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
-import org.apache.activemq.broker.SslContext;
import org.apache.activemq.transport.Transport;
import org.apache.activemq.transport.TransportServer;
import org.apache.activemq.util.IOExceptionSupport;
import org.apache.activemq.util.IntrospectionSupport;
+import org.apache.activemq.util.SslContext;
import org.apache.activemq.util.URISupport;
import org.apache.activemq.wireformat.WireFormat;
import org.apache.commons.logging.Log;
@@ -177,8 +177,8 @@
* @param tm
* @param random
* @deprecated "Do not use anymore... using static initializers like this method only allows the JVM to use 1 SSL configuration per broker."
- * @see org.apache.activemq.broker.SslContext#setCurrentSslContext(SslContext)
- * @see org.apache.activemq.broker.SslContext#getSSLContext()
+ * @see org.apache.activemq.util.SslContext#setCurrentSslContext(SslContext)
+ * @see org.apache.activemq.util.SslContext#getSSLContext()
*/
public void setKeyAndTrustManagers(KeyManager[] km, TrustManager[] tm, SecureRandom random) {
SslContext ctx = new SslContext(km, tm, random);
Modified: activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/Broker.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/Broker.java?rev=784883&r1=784882&r2=784883&view=diff
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/Broker.java (original)
+++ activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/Broker.java Mon Jun 15 17:44:49 2009
@@ -16,6 +16,7 @@
*/
package org.apache.activemq.apollo.broker;
+import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashMap;
@@ -31,6 +32,7 @@
import org.apache.activemq.transport.Transport;
import org.apache.activemq.transport.TransportAcceptListener;
import org.apache.activemq.transport.TransportServer;
+import org.apache.activemq.util.IOHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -50,6 +52,7 @@
private final LinkedHashMap<AsciiBuffer, VirtualHost> virtualHosts = new LinkedHashMap<AsciiBuffer, VirtualHost>();
private VirtualHost defaultVirtualHost;
private IDispatcher dispatcher;
+ private File dataDirectory;
private final class BrokerAcceptListener implements TransportAcceptListener {
public void onAccept(final Transport transport) {
@@ -114,6 +117,10 @@
if ( state.get()!=State.CONFIGURATION ) {
throw new IllegalStateException("Can only start a broker that is in the "+State.CONFIGURATION +" state. Broker was "+state.get());
}
+
+ if( dataDirectory == null ) {
+ dataDirectory = new File(IOHelper.getDefaultDataDirectory());
+ }
addVirtualHost(getDefaultVirtualHost());
@@ -153,6 +160,7 @@
// we need to handle failure during the startup to avoid
// a partially started up broker.
state.set(State.UNKNOWN);
+ throw e;
}
}
@@ -386,5 +394,13 @@
public String getName() {
return getDefaultVirtualHost().getHostName().toString();
}
+
+ public File getDataDirectory() {
+ return dataDirectory;
+ }
+
+ public void setDataDirectory(File dataDirectory) {
+ this.dataDirectory = dataDirectory;
+ }
}
\ No newline at end of file
Modified: activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/VirtualHost.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/VirtualHost.java?rev=784883&r1=784882&r2=784883&view=diff
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/VirtualHost.java (original)
+++ activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/broker/VirtualHost.java Mon Jun 15 17:44:49 2009
@@ -16,6 +16,7 @@
*/
package org.apache.activemq.apollo.broker;
+import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -28,6 +29,7 @@
import org.apache.activemq.queue.AbstractFlowQueue;
import org.apache.activemq.queue.ExclusivePersistentQueue;
import org.apache.activemq.queue.IQueue;
+import org.apache.activemq.util.IOHelper;
/**
* @author chirino
@@ -55,7 +57,7 @@
public AsciiBuffer getHostName() {
if (hostNames.size() > 0) {
- hostNames.get(0);
+ return hostNames.get(0);
}
return null;
}
@@ -95,8 +97,15 @@
if ( database == null ) {
Store store = StoreFactory.createStore("kaha-db");
+ if( store.getStoreDirectory() == null ) {
+ File baseDir = broker.getDataDirectory();
+ String hostName = getHostName().toString();
+ String subDir = IOHelper.toFileSystemDirectorySafeName(hostName);
+ store.setStoreDirectory( new File(baseDir, subDir ) );
+ }
database = new BrokerDatabase(store);
}
+
database.setDispatcher(broker.getDispatcher());
database.start();
Added: activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/VMTransportFactory.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/VMTransportFactory.java?rev=784883&view=auto
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/VMTransportFactory.java (added)
+++ activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/VMTransportFactory.java Mon Jun 15 17:44:49 2009
@@ -0,0 +1,156 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.apollo.transport.vm;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.activemq.apollo.broker.Broker;
+import org.apache.activemq.apollo.broker.BrokerFactory;
+import org.apache.activemq.transport.Transport;
+import org.apache.activemq.transport.TransportFactory;
+import org.apache.activemq.transport.TransportServer;
+import org.apache.activemq.transport.pipe.Pipe;
+import org.apache.activemq.transport.pipe.PipeTransportFactory;
+import org.apache.activemq.util.URISupport;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Implements the vm transport which behaves like the pipe transport except that
+ * it can start embedded brokers up on demand.
+ *
+ * @author chirino
+ *
+ */
+public class VMTransportFactory extends PipeTransportFactory {
+ static final private Log LOG = LogFactory.getLog(VMTransportFactory.class);
+
+ /**
+ * This extension of the PipeTransportServer shuts down the broker
+ * when all the connections are disconnected.
+ *
+ * @author chirino
+ */
+ private final class VmTransportServer extends PipeTransportServer {
+ private final AtomicInteger refs = new AtomicInteger();
+ private Broker broker;
+
+ @Override
+ protected PipeTransport cerateServerTransport(Pipe<Object> pipe) {
+ return new PipeTransport(pipe.connect()) {
+ @Override
+ public void start() throws Exception {
+ refs.incrementAndGet();
+ super.start();
+ }
+ @Override
+ public void stop() throws Exception {
+ super.stop();
+ if( refs.decrementAndGet() == 0 ) {
+ stopBroker();
+ }
+ }
+ };
+ }
+
+ public void setBroker(Broker broker) {
+ this.broker = broker;
+ }
+
+ private void stopBroker() {
+ try {
+ this.broker.stop();
+ } catch (Exception e) {
+ LOG.error("Failed to stop the broker gracefully: "+e);
+ LOG.debug("Failed to stop the broker gracefully: ", e);
+ }
+ }
+ }
+
+
+ private static final String DEFAULT_PIPE_NAME = Broker.DEFAULT_VIRTUAL_HOST_NAME.toString();
+
+ @Override
+ synchronized public Transport doCompositeConnect(URI location) throws Exception {
+
+ String brokerURI = null;
+ String name;
+ boolean create = true;
+
+ name = location.getHost();
+ if (name == null) {
+ name = DEFAULT_PIPE_NAME;
+ }
+
+ Map<String, String> options = URISupport.parseParamters(location);
+ String config = (String) options.remove("broker");
+ if (config != null) {
+ brokerURI = config;
+ }
+ if ("false".equals(options.remove("create"))) {
+ create = false;
+ }
+ if( !options.isEmpty() ) {
+ throw new IllegalArgumentException("Unrecognized vm transport parameters: "+options.keySet());
+ }
+
+
+ PipeTransportServer server = servers.get(name);
+ if (server == null && create) {
+
+ // Create the broker on demand.
+ Broker broker;
+ if( brokerURI == null ) {
+ broker = new Broker();
+ } else {
+ broker = BrokerFactory.createBroker(brokerURI);
+ }
+
+ // Remove the existing pipe severs if the broker is configured with one... we want to make sure it
+ // uses the one we explicitly configure here.
+ for (TransportServer s : broker.getTransportServers()) {
+ if (s instanceof PipeTransportServer && name.equals(((PipeTransportServer) s).getName())) {
+ broker.removeTransportServer(s);
+ }
+ }
+
+ // We want to use a vm transport server impl.
+ VmTransportServer vmTransportServer = (VmTransportServer) TransportFactory.bind(new URI("vm://" + name));
+ vmTransportServer.setBroker(broker);
+ broker.addTransportServer(vmTransportServer);
+ broker.start();
+
+ server = servers.get(name);
+ }
+
+ if (server == null) {
+ throw new IOException("Server is not bound: " + name);
+ }
+
+ return server.connect();
+ }
+
+
+ @Override
+ protected PipeTransportServer createTransportServer() {
+ return new VmTransportServer();
+ }
+
+}
Propchange: activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/VMTransportFactory.java
------------------------------------------------------------------------------
svn:executable = *
Added: activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/package.html
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/package.html?rev=784883&view=auto
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/package.html (added)
+++ activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/package.html Mon Jun 15 17:44:49 2009
@@ -0,0 +1,25 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html>
+<head>
+</head>
+<body>
+
+In-JVM based Transport implementation.
+
+</body>
+</html>
Propchange: activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/apollo/transport/vm/package.html
------------------------------------------------------------------------------
svn:executable = *
Modified: activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/legacy/broker/BrokerService.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/legacy/broker/BrokerService.java?rev=784883&r1=784882&r2=784883&view=diff
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/legacy/broker/BrokerService.java (original)
+++ activemq/sandbox/activemq-flow/activemq-broker/src/main/java/org/apache/activemq/legacy/broker/BrokerService.java Mon Jun 15 17:44:49 2009
@@ -24,10 +24,10 @@
import javax.net.ssl.TrustManager;
import org.apache.activemq.Service;
-import org.apache.activemq.broker.SslContext;
import org.apache.activemq.legacy.broker.region.RegionBroker;
import org.apache.activemq.legacy.store.PersistenceAdapter;
import org.apache.activemq.legacy.usage.SystemUsage;
+import org.apache.activemq.util.SslContext;
/**
* @deprecated The entire 'org.apache.activemq.legacy' package will hopefully go away soon.
Added: activemq/sandbox/activemq-flow/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/transport/vm
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/transport/vm?rev=784883&view=auto
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/transport/vm (added)
+++ activemq/sandbox/activemq-flow/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/transport/vm Mon Jun 15 17:44:49 2009
@@ -0,0 +1,17 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements. See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+class=org.apache.activemq.apollo.transport.vm.VMTransportFactory
Added: activemq/sandbox/activemq-flow/activemq-broker/src/test/java/org/apache/activemq/apollo/transport/vm/VMTransportTest.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-broker/src/test/java/org/apache/activemq/apollo/transport/vm/VMTransportTest.java?rev=784883&view=auto
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-broker/src/test/java/org/apache/activemq/apollo/transport/vm/VMTransportTest.java (added)
+++ activemq/sandbox/activemq-flow/activemq-broker/src/test/java/org/apache/activemq/apollo/transport/vm/VMTransportTest.java Mon Jun 15 17:44:49 2009
@@ -0,0 +1,40 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.apollo.transport.vm;
+
+import java.net.URI;
+
+import junit.framework.TestCase;
+
+import org.apache.activemq.transport.Transport;
+import org.apache.activemq.transport.TransportFactory;
+
+/**
+ *
+ * @author chirino
+ */
+public class VMTransportTest extends TestCase {
+
+
+ public void testAutoCreateBroker() throws Exception {
+
+ Transport connect = TransportFactory.compositeConnect(new URI("vm://test"));
+ assertNotNull(connect);
+
+ }
+
+}
Modified: activemq/sandbox/activemq-flow/activemq-kaha/src/main/java/org/apache/activemq/broker/store/kahadb/KahaDBStore.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-kaha/src/main/java/org/apache/activemq/broker/store/kahadb/KahaDBStore.java?rev=784883&r1=784882&r2=784883&view=diff
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-kaha/src/main/java/org/apache/activemq/broker/store/kahadb/KahaDBStore.java (original)
+++ activemq/sandbox/activemq-flow/activemq-kaha/src/main/java/org/apache/activemq/broker/store/kahadb/KahaDBStore.java Mon Jun 15 17:44:49 2009
@@ -1140,6 +1140,9 @@
return directory;
}
+ public File getStoreDirectory() {
+ return directory;
+ }
public void setStoreDirectory(File directory) {
this.directory = directory;
}
@@ -1222,4 +1225,5 @@
this.failIfDatabaseIsLocked = failIfDatabaseIsLocked;
}
+
}
Modified: activemq/sandbox/activemq-flow/activemq-network/src/main/java/org/apache/activemq/network/DiscoveryNetworkConnector.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-network/src/main/java/org/apache/activemq/network/DiscoveryNetworkConnector.java?rev=784883&r1=784882&r2=784883&view=diff
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-network/src/main/java/org/apache/activemq/network/DiscoveryNetworkConnector.java (original)
+++ activemq/sandbox/activemq-flow/activemq-network/src/main/java/org/apache/activemq/network/DiscoveryNetworkConnector.java Mon Jun 15 17:44:49 2009
@@ -22,7 +22,6 @@
import java.util.Iterator;
import java.util.concurrent.ConcurrentHashMap;
-import org.apache.activemq.broker.SslContext;
import org.apache.activemq.transport.Transport;
import org.apache.activemq.transport.TransportFactory;
import org.apache.activemq.transport.discovery.DiscoveryAgent;
@@ -31,6 +30,7 @@
import org.apache.activemq.transport.discovery.DiscoveryListener;
import org.apache.activemq.util.ServiceStopper;
import org.apache.activemq.util.ServiceSupport;
+import org.apache.activemq.util.SslContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Modified: activemq/sandbox/activemq-flow/activemq-spring/src/main/java/org/apache/activemq/spring/SpringSslContext.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-spring/src/main/java/org/apache/activemq/spring/SpringSslContext.java?rev=784883&r1=784882&r2=784883&view=diff
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-spring/src/main/java/org/apache/activemq/spring/SpringSslContext.java (original)
+++ activemq/sandbox/activemq-flow/activemq-spring/src/main/java/org/apache/activemq/spring/SpringSslContext.java Mon Jun 15 17:44:49 2009
@@ -29,7 +29,7 @@
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
-import org.apache.activemq.broker.SslContext;
+import org.apache.activemq.util.SslContext;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.core.io.Resource;
Modified: activemq/sandbox/activemq-flow/activemq-store/src/main/java/org/apache/activemq/broker/store/Store.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-store/src/main/java/org/apache/activemq/broker/store/Store.java?rev=784883&r1=784882&r2=784883&view=diff
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-store/src/main/java/org/apache/activemq/broker/store/Store.java (original)
+++ activemq/sandbox/activemq-flow/activemq-store/src/main/java/org/apache/activemq/broker/store/Store.java Mon Jun 15 17:44:49 2009
@@ -99,6 +99,12 @@
public void setStoreDirectory(File directory);
/**
+ * Gets the store's root directory;
+ */
+ public File getStoreDirectory();
+
+
+ /**
* Indicates that all messages should be deleted on startup
*
* @param val
Modified: activemq/sandbox/activemq-flow/activemq-store/src/main/java/org/apache/activemq/broker/store/memory/MemoryStore.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-store/src/main/java/org/apache/activemq/broker/store/memory/MemoryStore.java?rev=784883&r1=784882&r2=784883&view=diff
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-store/src/main/java/org/apache/activemq/broker/store/memory/MemoryStore.java (original)
+++ activemq/sandbox/activemq-flow/activemq-store/src/main/java/org/apache/activemq/broker/store/memory/MemoryStore.java Mon Jun 15 17:44:49 2009
@@ -593,9 +593,14 @@
// NOOP
}
- public void setDeleteAllMessages(boolean val) {
+ public File getStoreDirectory() {
+ return null;
+ }
+
+ public void setDeleteAllMessages(boolean val) {
// TODO Auto-generated method stub
}
+
}
Modified: activemq/sandbox/activemq-flow/activemq-transport/src/main/java/org/apache/activemq/transport/pipe/PipeTransportFactory.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-transport/src/main/java/org/apache/activemq/transport/pipe/PipeTransportFactory.java?rev=784883&r1=784882&r2=784883&view=diff
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-transport/src/main/java/org/apache/activemq/transport/pipe/PipeTransportFactory.java (original)
+++ activemq/sandbox/activemq-flow/activemq-transport/src/main/java/org/apache/activemq/transport/pipe/PipeTransportFactory.java Mon Jun 15 17:44:49 2009
@@ -31,10 +31,9 @@
public class PipeTransportFactory extends TransportFactory {
- private final HashMap<String, PipeTransportServer> servers = new HashMap<String, PipeTransportServer>();
- static final AtomicInteger connectionCounter = new AtomicInteger();
+ protected final HashMap<String, PipeTransportServer> servers = new HashMap<String, PipeTransportServer>();
- private static class PipeTransport implements DispatchableTransport, Dispatchable, Runnable, ReadReadyListener<Object> {
+ protected static class PipeTransport implements DispatchableTransport, Dispatchable, Runnable, ReadReadyListener<Object> {
private final Pipe<Object> pipe;
private TransportListener listener;
@@ -208,11 +207,12 @@
}
}
- private class PipeTransportServer implements TransportServer {
- private URI connectURI;
- private TransportAcceptListener listener;
- private String name;
- private WireFormatFactory wireFormatFactory;
+ protected class PipeTransportServer implements TransportServer {
+ protected URI connectURI;
+ protected TransportAcceptListener listener;
+ protected String name;
+ protected WireFormatFactory wireFormatFactory;
+ protected final AtomicInteger connectionCounter = new AtomicInteger();
public URI getConnectURI() {
return connectURI;
@@ -250,9 +250,9 @@
String remoteAddress = connectURI.toString() + "#" + connectionId;
assert listener != null : "Server does not have an accept listener";
Pipe<Object> pipe = new Pipe<Object>();
- PipeTransport rc = new PipeTransport(pipe);
+ PipeTransport rc = createClientTransport(pipe);
rc.setRemoteAddress(remoteAddress);
- PipeTransport serverSide = new PipeTransport(pipe.connect());
+ PipeTransport serverSide = cerateServerTransport(pipe);
serverSide.setRemoteAddress(remoteAddress);
if (wireFormatFactory != null) {
rc.setWireFormat(wireFormatFactory.createWireFormat());
@@ -262,6 +262,14 @@
return rc;
}
+ protected PipeTransport createClientTransport(Pipe<Object> pipe) {
+ return new PipeTransport(pipe);
+ }
+
+ protected PipeTransport cerateServerTransport(Pipe<Object> pipe) {
+ return new PipeTransport(pipe.connect());
+ }
+
public void setWireFormatFactory(WireFormatFactory wireFormatFactory) {
this.wireFormatFactory = wireFormatFactory;
}
@@ -276,7 +284,7 @@
if (servers.containsKey(node)) {
throw new IOException("Server already bound: " + node);
}
- PipeTransportServer server = new PipeTransportServer();
+ PipeTransportServer server = createTransportServer();
server.setConnectURI(uri);
server.setName(node);
if (options.containsKey("wireFormat")) {
@@ -290,6 +298,10 @@
}
}
+ protected PipeTransportServer createTransportServer() {
+ return new PipeTransportServer();
+ }
+
private synchronized void unbind(PipeTransportServer server) {
servers.remove(server.getName());
}
Copied: activemq/sandbox/activemq-flow/activemq-util/src/main/java/org/apache/activemq/util/SslContext.java (from r784806, activemq/sandbox/activemq-flow/activemq-transport/src/main/java/org/apache/activemq/broker/SslContext.java)
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-util/src/main/java/org/apache/activemq/util/SslContext.java?p2=activemq/sandbox/activemq-flow/activemq-util/src/main/java/org/apache/activemq/util/SslContext.java&p1=activemq/sandbox/activemq-flow/activemq-transport/src/main/java/org/apache/activemq/broker/SslContext.java&r1=784806&r2=784883&rev=784883&view=diff
==============================================================================
--- activemq/sandbox/activemq-flow/activemq-transport/src/main/java/org/apache/activemq/broker/SslContext.java (original)
+++ activemq/sandbox/activemq-flow/activemq-util/src/main/java/org/apache/activemq/util/SslContext.java Mon Jun 15 17:44:49 2009
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.activemq.broker;
+package org.apache.activemq.util;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;