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 2010/11/03 21:02:44 UTC
svn commit: r1030638 - in /activemq/activemq-apollo/trunk: ./
apollo-bdb/src/main/scala/org/apache/activemq/apollo/store/bdb/
apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/
apollo-broker/src/main/scala/org/apache/activemq/apollo/broker...
Author: chirino
Date: Wed Nov 3 20:02:43 2010
New Revision: 1030638
URL: http://svn.apache.org/viewvc?rev=1030638&view=rev
Log:
Updates need to pickup new enhancements in hawtdispatch-1.1-SNAPSHOT
Modified:
activemq/activemq-apollo/trunk/apollo-bdb/src/main/scala/org/apache/activemq/apollo/store/bdb/BDBStore.scala
activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala
activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/ConfigStore.scala
activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connection.scala
activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala
activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Queue.scala
activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Router.scala
activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Sink.scala
activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala
activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/protocol/MultiProtocol.scala
activemq/activemq-apollo/trunk/apollo-broker/src/test/scala/org/apache/activemq/apollo/broker/perf/RemoteConnection.scala
activemq/activemq-apollo/trunk/apollo-cassandra/src/main/scala/org/apache/activemq/apollo/store/cassandra/CassandraStore.scala
activemq/activemq-apollo/trunk/apollo-cli/src/main/scala/org/apache/activemq/apollo/cli/commands/Run.scala
activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/scala/org/apache/activemq/apollo/store/hawtdb/HawtDBClient.scala
activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/scala/org/apache/activemq/apollo/store/hawtdb/HawtDBStore.scala
activemq/activemq-apollo/trunk/apollo-scala/pom.xml
activemq/activemq-apollo/trunk/apollo-stomp/src/main/scala/org/apache/activemq/apollo/stomp/StompProtocol.scala
activemq/activemq-apollo/trunk/apollo-stomp/src/test/scala/org/apache/activemq/apollo/stomp/perf/StompRemoteClients.scala
activemq/activemq-apollo/trunk/apollo-store/src/main/scala/org/apache/activemq/apollo/store/DelayingStoreSupport.scala
activemq/activemq-apollo/trunk/apollo-store/src/test/scala/org/apache/activemq/apollo/store/StoreBenchmarkSupport.scala
activemq/activemq-apollo/trunk/apollo-store/src/test/scala/org/apache/activemq/apollo/store/StoreFunSuiteSupport.scala
activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/BaseService.scala
activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/Logging.scala
activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/LoggingTracker.scala
activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/ServiceTrait.scala
activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/ServletContextListener.scala
activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/ConfigurationResource.scala
activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RootResource.scala
activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RuntimeResource.scala
activemq/activemq-apollo/trunk/apollo-web/src/test/scala/org/apache/activemq/apollo/web/FileConfigStoreTest.scala
activemq/activemq-apollo/trunk/pom.xml
Modified: activemq/activemq-apollo/trunk/apollo-bdb/src/main/scala/org/apache/activemq/apollo/store/bdb/BDBStore.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-bdb/src/main/scala/org/apache/activemq/apollo/store/bdb/BDBStore.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-bdb/src/main/scala/org/apache/activemq/apollo/store/bdb/BDBStore.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-bdb/src/main/scala/org/apache/activemq/apollo/store/bdb/BDBStore.scala Wed Nov 3 20:02:43 2010
@@ -19,7 +19,7 @@ package org.apache.activemq.apollo.store
import dto.{BDBStoreDTO, BDBStoreStatusDTO}
import java.util.concurrent.atomic.AtomicLong
import collection.Seq
-import org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import java.io.File
import java.util.concurrent._
import org.apache.activemq.apollo.store._
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala Wed Nov 3 20:02:43 2010
@@ -18,7 +18,7 @@ package org.apache.activemq.apollo.broke
import _root_.java.io.{File}
import _root_.java.lang.{String}
-import _root_.org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import _root_.org.fusesource.hawtdispatch.ScalaDispatchHelpers._
import org.fusesource.hawtdispatch.{Dispatch}
import org.fusesource.hawtbuf._
@@ -255,12 +255,12 @@ class Broker() extends BaseService with
tracker.callback(onCompleted)
}
- def getVirtualHost(name: AsciiBuffer, cb: (VirtualHost) => Unit) = reply(cb) {
+ def getVirtualHost(name: AsciiBuffer) = dispatchQueue ! {
virtualHosts.getOrElse(name, null)
- } >>: dispatchQueue
+ }
- def getDefaultVirtualHost(cb: (VirtualHost) => Unit) = reply(cb) {
+ def getDefaultVirtualHost = dispatchQueue ! {
defaultVirtualHost
- } >>: dispatchQueue
+ }
}
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/ConfigStore.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/ConfigStore.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/ConfigStore.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/ConfigStore.scala Wed Nov 3 20:02:43 2010
@@ -20,7 +20,7 @@ import org.apache.activemq.apollo.broker
import org.apache.activemq.apollo.dto.{XmlCodec, ConnectorDTO, VirtualHostDTO, BrokerDTO}
import java.util.regex.Pattern
import javax.xml.stream.{XMLOutputFactory, XMLInputFactory}
-import _root_.org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import _root_.org.fusesource.hawtdispatch.ScalaDispatchHelpers._
import java.util.concurrent.{TimeUnit, ExecutorService, Executors}
import org.fusesource.hawtbuf.{ByteArrayInputStream, ByteArrayOutputStream}
@@ -28,12 +28,19 @@ import javax.xml.bind.{Marshaller, JAXBC
import java.io.{OutputStreamWriter, File}
import XmlCodec._
import org.apache.activemq.apollo.util._
+import scala.util.continuations._
+import org.fusesource.hawtdispatch.DispatchQueue
object ConfigStore {
var store:ConfigStore = null
- def apply() = store
+ def apply():ConfigStore = store
+
+ def sync[T] (func: ConfigStore=>T):T = store.dispatchQueue.sync {
+ func(store)
+ }
+
def update(value:ConfigStore) = store=value
}
@@ -47,15 +54,15 @@ object ConfigStore {
*/
trait ConfigStore extends Service {
- def listBrokers(cb: (List[String]) => Unit):Unit
+ def listBrokers: List[String]
- def getBroker(id:String, eval:Boolean)(cb: (Option[BrokerDTO]) => Unit):Unit
+ def getBroker(id:String, eval:Boolean): Option[BrokerDTO]
- def putBroker(config:BrokerDTO)(cb: (Boolean) => Unit):Unit
+ def putBroker(config:BrokerDTO): Boolean
- def removeBroker(id:String, rev:Int)(cb: (Boolean) => Unit):Unit
+ def removeBroker(id:String, rev:Int): Boolean
- def foreachBroker(eval:Boolean)(cb: (BrokerDTO)=> Unit):Unit
+ def dispatchQueue:DispatchQueue
}
@@ -96,6 +103,12 @@ class FileConfigStore extends ConfigStor
})
}
+ protected def _stop(onCompleted:Runnable) = {
+ ioWorker.submit(^{
+ onCompleted.run
+ ioWorker.shutdown
+ })
+ }
def startup(onCompleted:Runnable) = {
@@ -142,32 +155,22 @@ class FileConfigStore extends ConfigStor
onCompleted.run
}
}
- protected def _stop(onCompleted:Runnable) = {
- ioWorker.submit(^{
- onCompleted.run
- })
- ioWorker.shutdown
- }
- def listBrokers(cb: (List[String]) => Unit) = reply(cb) {
+
+ def listBrokers = {
List(latest.id)
- } >>: dispatchQueue
-
-
- def foreachBroker(eval:Boolean)(cb: (BrokerDTO)=> Unit) = reply(cb) {
- unmarshall(latest.data, eval)
- } >>: dispatchQueue
+ }
- def getBroker(id:String, eval:Boolean)(cb: (Option[BrokerDTO]) => Unit) = reply(cb) {
+ def getBroker(id:String, eval:Boolean) = {
if( latest.id == id ) {
Some(unmarshall(latest.data, eval))
} else {
None
}
- } >>: dispatchQueue
+ }
- def putBroker(config:BrokerDTO)(cb: (Boolean) => Unit) = reply(cb) {
+ def putBroker(config:BrokerDTO) = {
debug("storing broker model: %s ver %d", config.id, config.rev)
if( latest.id != config.id ) {
debug("this store can only update broker: "+latest.id)
@@ -179,26 +182,30 @@ class FileConfigStore extends ConfigStor
latest = write(StoredBrokerModel(config))
true
}
- } >>: dispatchQueue
+ }
- def removeBroker(id:String, rev:Int)(cb: (Boolean) => Unit) = reply(cb) {
+ def removeBroker(id:String, rev:Int) = {
// not supported.
false
- } >>: dispatchQueue
+ }
private def fileRev(rev:Int) = new File(file.getParent, file.getName+"."+rev)
private def schedualNextUpdateCheck:Unit = dispatchQueue.after(1, TimeUnit.SECONDS) {
if( serviceState.isStarted ) {
+ val latestHash = latest.hash+1
+ val nextRev = latest.rev+1
ioWorker {
try {
- val config = read(latest.rev+1, file)
- if (latest.hash != config.hash) {
+ val config = read(nextRev, file)
+ if (latestHash != config.hash) {
// TODO: do this in the controller so that it
// has a chance to update the runtime too.
val c = unmarshall(config.data)
c.rev = config.rev
- putBroker(c) { x=> }
+ dispatchQueue {
+ putBroker(c)
+ }
}
schedualNextUpdateCheck
}
@@ -248,4 +255,4 @@ class FileConfigStore extends ConfigStor
}
}
-object FileConfigStore extends Log
\ No newline at end of file
+object FileConfigStore extends Log
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connection.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connection.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connection.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connection.scala Wed Nov 3 20:02:43 2010
@@ -18,7 +18,7 @@ package org.apache.activemq.apollo.broke
import _root_.java.io.{IOException}
import _root_.java.lang.{String}
-import _root_.org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import protocol.{ProtocolHandler}
import org.apache.activemq.apollo.transport.{DefaultTransportListener, Transport}
import org.apache.activemq.apollo.util.{Log, BaseService}
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Connector.scala Wed Nov 3 20:02:43 2010
@@ -16,7 +16,7 @@
*/
package org.apache.activemq.apollo.broker
-import _root_.org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import org.fusesource.hawtdispatch.{Dispatch}
import org.apache.activemq.apollo.dto.{ConnectorDTO}
import protocol.{ProtocolFactory, Protocol}
@@ -167,4 +167,4 @@ class Connector(val broker:Broker, val i
}
} |>>: dispatchQueue
-}
\ No newline at end of file
+}
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Queue.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Queue.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Queue.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Queue.scala Wed Nov 3 20:02:43 2010
@@ -18,7 +18,7 @@ package org.apache.activemq.apollo.broke
import java.util.concurrent.TimeUnit
-import _root_.org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import _root_.org.fusesource.hawtdispatch.ScalaDispatchHelpers._
import java.util.concurrent.atomic.AtomicInteger
@@ -1611,4 +1611,4 @@ class PrefetchingSubscription(queue:Queu
assert(prefetched_size == 0, "inconsistent prefetch size.")
}
-}
\ No newline at end of file
+}
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Router.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Router.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Router.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Router.scala Wed Nov 3 20:02:43 2010
@@ -19,7 +19,7 @@ package org.apache.activemq.apollo.broke
import _root_.java.util.concurrent.atomic.AtomicLong
import _root_.org.fusesource.hawtbuf._
import _root_.org.fusesource.hawtdispatch._
-import _root_.org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import _root_.org.fusesource.hawtdispatch.ScalaDispatchHelpers._
import collection.JavaConversions
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Sink.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Sink.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Sink.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Sink.scala Wed Nov 3 20:02:43 2010
@@ -17,7 +17,7 @@
package org.apache.activemq.apollo.broker
import _root_.org.fusesource.hawtdispatch._
-import _root_.org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import java.util.{LinkedList}
import org.apache.activemq.apollo.transport.Transport
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/VirtualHost.scala Wed Nov 3 20:02:43 2010
@@ -18,9 +18,8 @@ package org.apache.activemq.apollo.broke
import _root_.java.util.{ArrayList, HashMap}
import _root_.java.lang.{String}
-import _root_.org.fusesource.hawtdispatch.{ScalaDispatch, DispatchQueue}
import _root_.scala.collection.JavaConversions._
-import _root_.org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import org.apache.activemq.apollo.dto.{VirtualHostDTO}
import java.util.concurrent.TimeUnit
@@ -79,7 +78,7 @@ class VirtualHost(val broker: Broker, va
import VirtualHost._
override protected def log = VirtualHost
- override val dispatchQueue:DispatchQueue = ScalaDispatch.createQueue("virtual-host");
+ override val dispatchQueue:DispatchQueue = org.fusesource.hawtdispatch.createQueue("virtual-host");
var config:VirtualHostDTO = _
val router = new Router(this)
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/protocol/MultiProtocol.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/protocol/MultiProtocol.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/protocol/MultiProtocol.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/protocol/MultiProtocol.scala Wed Nov 3 20:02:43 2010
@@ -25,7 +25,7 @@ import java.nio.ByteBuffer
import java.io.IOException
import java.lang.String
import java.util.concurrent.TimeUnit
-import org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
/**
* <p>
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/test/scala/org/apache/activemq/apollo/broker/perf/RemoteConnection.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/test/scala/org/apache/activemq/apollo/broker/perf/RemoteConnection.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/test/scala/org/apache/activemq/apollo/broker/perf/RemoteConnection.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/test/scala/org/apache/activemq/apollo/broker/perf/RemoteConnection.scala Wed Nov 3 20:02:43 2010
@@ -21,7 +21,7 @@ import org.apache.activemq.apollo.util.m
import org.apache.activemq.apollo.broker.{Destination, Delivery, Connection}
import java.util.concurrent.atomic.{AtomicBoolean, AtomicLong}
import java.util.concurrent.TimeUnit
-import org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import java.io.IOException
import org.apache.activemq.apollo.transport.TransportFactory
@@ -140,4 +140,4 @@ abstract class RemoteProducer extends Re
}
}
-}
\ No newline at end of file
+}
Modified: activemq/activemq-apollo/trunk/apollo-cassandra/src/main/scala/org/apache/activemq/apollo/store/cassandra/CassandraStore.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-cassandra/src/main/scala/org/apache/activemq/apollo/store/cassandra/CassandraStore.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-cassandra/src/main/scala/org/apache/activemq/apollo/store/cassandra/CassandraStore.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-cassandra/src/main/scala/org/apache/activemq/apollo/store/cassandra/CassandraStore.scala Wed Nov 3 20:02:43 2010
@@ -23,7 +23,7 @@ import collection.mutable.ListBuffer
import java.util.HashMap
import collection.{JavaConversions, Seq}
import com.shorrockin.cascal.utils.Conversions._
-import org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import org.fusesource.hawtdispatch.ListEventAggregator
import java.util.concurrent._
import org.apache.activemq.apollo.dto._
Modified: activemq/activemq-apollo/trunk/apollo-cli/src/main/scala/org/apache/activemq/apollo/cli/commands/Run.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-cli/src/main/scala/org/apache/activemq/apollo/cli/commands/Run.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-cli/src/main/scala/org/apache/activemq/apollo/cli/commands/Run.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-cli/src/main/scala/org/apache/activemq/apollo/cli/commands/Run.scala Wed Nov 3 20:02:43 2010
@@ -31,7 +31,7 @@ import org.mortbay.jetty.webapp.WebAppCo
import org.apache.commons.logging.LogFactory
import org.apache.activemq.apollo.broker.{BrokerRegistry, Broker, ConfigStore, FileConfigStore}
import org.apache.activemq.apollo.util.ServiceControl
-import org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import Helper._
/**
@@ -90,21 +90,22 @@ class Run extends Action {
store.file = conf
ConfigStore() = store
store.start(^{
-
- // Brokers startup async.
- store.foreachBroker(true) { config=>
- // Only start the broker up if it's enabled..
- if( config.enabled ) {
- println("Starting broker '%s'...".format(config.id));
- val broker = new Broker()
- broker.config = config
- BrokerRegistry.add(config.id, broker)
- broker.start(^{
- println("Broker '%s' started.".format(config.id));
- })
+ store.dispatchQueue {
+ store.listBrokers.foreach { id=>
+ store.getBroker(id, true).foreach{ config=>
+ // Only start the broker up if it's enabled..
+ if( config.enabled ) {
+ println("Starting broker '%s'...".format(config.id));
+ val broker = new Broker()
+ broker.config = config
+ BrokerRegistry.add(config.id, broker)
+ broker.start(^{
+ println("Broker '%s' started.".format(config.id));
+ })
+ }
+ }
}
}
-
})
@@ -142,4 +143,4 @@ class Run extends Action {
// server.stop
// }
-}
\ No newline at end of file
+}
Modified: activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/scala/org/apache/activemq/apollo/store/hawtdb/HawtDBClient.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/scala/org/apache/activemq/apollo/store/hawtdb/HawtDBClient.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/scala/org/apache/activemq/apollo/store/hawtdb/HawtDBClient.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/scala/org/apache/activemq/apollo/store/hawtdb/HawtDBClient.scala Wed Nov 3 20:02:43 2010
@@ -28,7 +28,7 @@ import org.fusesource.hawtdb.internal.jo
import org.apache.activemq.apollo.store.hawtdb.model.Type._
import org.apache.activemq.apollo.store.hawtdb.model._
import org.fusesource.hawtbuf._
-import org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import collection.mutable.{LinkedHashMap, HashMap, ListBuffer}
import collection.JavaConversions
import ju.{TreeSet, HashSet}
@@ -1083,4 +1083,4 @@ class HawtDBClient(hawtDBStore: HawtDBSt
lastUpdate.compareTo(location) < 0
}
-}
\ No newline at end of file
+}
Modified: activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/scala/org/apache/activemq/apollo/store/hawtdb/HawtDBStore.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/scala/org/apache/activemq/apollo/store/hawtdb/HawtDBStore.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/scala/org/apache/activemq/apollo/store/hawtdb/HawtDBStore.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/scala/org/apache/activemq/apollo/store/hawtdb/HawtDBStore.scala Wed Nov 3 20:02:43 2010
@@ -19,7 +19,7 @@ package org.apache.activemq.apollo.store
import collection.mutable.ListBuffer
import java.util.HashMap
import collection.{Seq}
-import org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import java.io.File
import java.util.concurrent._
import atomic.{AtomicInteger, AtomicLong}
Modified: activemq/activemq-apollo/trunk/apollo-scala/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-scala/pom.xml?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-scala/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-scala/pom.xml Wed Nov 3 20:02:43 2010
@@ -93,7 +93,9 @@
<jvmArg>-Xss8m</jvmArg>
</jvmArgs>
<args>
+ <arg>-optimise</arg>
<arg>-deprecation</arg>
+ <arg>-P:continuations:enable</arg>
</args>
<scalaVersion>${scala-version}</scalaVersion>
<compilerPlugins>
@@ -135,7 +137,7 @@
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
- <version>${scala-plugin-version}</version>
+ <version>${maven-scala-plugin-version}</version>
<executions>
<execution>
<id>doc</id>
Modified: activemq/activemq-apollo/trunk/apollo-stomp/src/main/scala/org/apache/activemq/apollo/stomp/StompProtocol.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-stomp/src/main/scala/org/apache/activemq/apollo/stomp/StompProtocol.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-stomp/src/main/scala/org/apache/activemq/apollo/stomp/StompProtocol.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-stomp/src/main/scala/org/apache/activemq/apollo/stomp/StompProtocol.scala Wed Nov 3 20:02:43 2010
@@ -19,7 +19,7 @@ package org.apache.activemq.apollo.stomp
import _root_.org.fusesource.hawtdispatch.{DispatchQueue, BaseRetained}
import _root_.org.fusesource.hawtbuf._
import collection.mutable.{ListBuffer, HashMap}
-import _root_.org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import AsciiBuffer._
import org.apache.activemq.apollo.broker._
@@ -36,6 +36,7 @@ import org.apache.activemq.apollo.util._
import java.util.concurrent.TimeUnit
import java.util.Map.Entry
import org.apache.activemq.apollo.dto.{StompConnectionStatusDTO, BindingDTO, DurableSubscriptionBindingDTO, PointToPointBindingDTO}
+import scala.util.continuations._
/**
* @author <a href="http://hiramchirino.com">Hiram Chirino</a>
@@ -477,6 +478,8 @@ class StompProtocolHandler extends Proto
def on_stomp_connect(headers:HeaderMap):Unit = {
+
+
login = get(headers, LOGIN)
passcode = get(headers, PASSCODE)
@@ -528,39 +531,36 @@ class StompProtocolHandler extends Proto
return
}
- suspendRead("virtual host lookup")
- val host_header = get(headers, HOST)
- val cb: (VirtualHost)=>Unit = (host)=>
- queue {
- if(host!=null) {
- this.host=host
-
- val outbound_heart_beat_header = ascii("%d,%d".format(outbound_heartbeat,inbound_heartbeat))
- session_id = ascii(this.host.config.id + ":"+this.host.session_counter.incrementAndGet)
-
- connection_sink.offer(
- StompFrame(CONNECTED, List(
- (VERSION, protocol_version),
- (SESSION, session_id),
- (HEART_BEAT, outbound_heart_beat_header)
- )))
-
- if( this.host.direct_buffer_pool!=null ) {
- val wf = connection.transport.getProtocolCodec.asInstanceOf[StompCodec]
- wf.memory_pool = this.host.direct_buffer_pool
- }
- resumeRead
-
- } else {
- die("Invalid virtual host: "+host_header.get)
+ reset {
+ suspendRead("virtual host lookup")
+ val host_header = get(headers, HOST)
+ val host = host_header match {
+ case None=>
+ connection.connector.broker.getDefaultVirtualHost
+ case Some(host)=>
+ connection.connector.broker.getVirtualHost(host)
+ }
+ resumeRead
+ if(host!=null) {
+ this.host=host
+
+ val outbound_heart_beat_header = ascii("%d,%d".format(outbound_heartbeat,inbound_heartbeat))
+ session_id = ascii(this.host.config.id + ":"+this.host.session_counter.incrementAndGet)
+
+ connection_sink.offer(
+ StompFrame(CONNECTED, List(
+ (VERSION, protocol_version),
+ (SESSION, session_id),
+ (HEART_BEAT, outbound_heart_beat_header)
+ )))
+
+ if( this.host.direct_buffer_pool!=null ) {
+ val wf = connection.transport.getProtocolCodec.asInstanceOf[StompCodec]
+ wf.memory_pool = this.host.direct_buffer_pool
}
+ } else {
+ die("Invalid virtual host: "+host_header.get)
}
-
- host_header match {
- case None=>
- connection.connector.broker.getDefaultVirtualHost(cb)
- case Some(host)=>
- connection.connector.broker.getVirtualHost(host, cb)
}
}
Modified: activemq/activemq-apollo/trunk/apollo-stomp/src/test/scala/org/apache/activemq/apollo/stomp/perf/StompRemoteClients.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-stomp/src/test/scala/org/apache/activemq/apollo/stomp/perf/StompRemoteClients.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-stomp/src/test/scala/org/apache/activemq/apollo/stomp/perf/StompRemoteClients.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-stomp/src/test/scala/org/apache/activemq/apollo/stomp/perf/StompRemoteClients.scala Wed Nov 3 20:02:43 2010
@@ -28,7 +28,7 @@ import _root_.org.fusesource.hawtbuf._
import AsciiBuffer._
import Stomp._
import _root_.org.apache.activemq.apollo.stomp.StompFrame
-import _root_.org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
class StompRemoteConsumer extends RemoteConsumer {
Modified: activemq/activemq-apollo/trunk/apollo-store/src/main/scala/org/apache/activemq/apollo/store/DelayingStoreSupport.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-store/src/main/scala/org/apache/activemq/apollo/store/DelayingStoreSupport.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-store/src/main/scala/org/apache/activemq/apollo/store/DelayingStoreSupport.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-store/src/main/scala/org/apache/activemq/apollo/store/DelayingStoreSupport.scala Wed Nov 3 20:02:43 2010
@@ -19,7 +19,7 @@ package org.apache.activemq.apollo.store
import collection.mutable.ListBuffer
import java.util.HashMap
import collection.Seq
-import org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import java.util.concurrent._
import org.apache.activemq.apollo.util._
import org.fusesource.hawtdispatch.{BaseRetained, ListEventAggregator}
Modified: activemq/activemq-apollo/trunk/apollo-store/src/test/scala/org/apache/activemq/apollo/store/StoreBenchmarkSupport.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-store/src/test/scala/org/apache/activemq/apollo/store/StoreBenchmarkSupport.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-store/src/test/scala/org/apache/activemq/apollo/store/StoreBenchmarkSupport.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-store/src/test/scala/org/apache/activemq/apollo/store/StoreBenchmarkSupport.scala Wed Nov 3 20:02:43 2010
@@ -17,7 +17,7 @@
package org.apache.activemq.apollo.store
import org.fusesource.hawtbuf.AsciiBuffer._
-import org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import org.fusesource.hawtdispatch.TaskTracker
import java.util.concurrent.{TimeUnit, CountDownLatch}
import org.scalatest.{BeforeAndAfterEach, BeforeAndAfterAll}
Modified: activemq/activemq-apollo/trunk/apollo-store/src/test/scala/org/apache/activemq/apollo/store/StoreFunSuiteSupport.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-store/src/test/scala/org/apache/activemq/apollo/store/StoreFunSuiteSupport.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-store/src/test/scala/org/apache/activemq/apollo/store/StoreFunSuiteSupport.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-store/src/test/scala/org/apache/activemq/apollo/store/StoreFunSuiteSupport.scala Wed Nov 3 20:02:43 2010
@@ -17,7 +17,7 @@
package org.apache.activemq.apollo.store
import org.fusesource.hawtbuf.AsciiBuffer._
-import org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import org.fusesource.hawtdispatch.TaskTracker
import java.util.concurrent.{TimeUnit, CountDownLatch}
import org.scalatest.{BeforeAndAfterEach, BeforeAndAfterAll}
Modified: activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/BaseService.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/BaseService.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/BaseService.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/BaseService.scala Wed Nov 3 20:02:43 2010
@@ -17,7 +17,7 @@
package org.apache.activemq.apollo.util
import org.fusesource.hawtdispatch.DispatchQueue
-import _root_.org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
object BaseService extends Log
Modified: activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/Logging.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/Logging.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/Logging.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/Logging.scala Wed Nov 3 20:02:43 2010
@@ -229,7 +229,7 @@ trait Logging {
* @author <a href="http://hiramchirino.com">Hiram Chirino</a>
*/
trait DispatchLogging extends Logging {
- import org.fusesource.hawtdispatch.ScalaDispatch._
+ import org.fusesource.hawtdispatch._
override protected def log_map(message:String) = {
val d = getCurrentQueue
@@ -240,4 +240,4 @@ trait DispatchLogging extends Logging {
}
}
-}
\ No newline at end of file
+}
Modified: activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/LoggingTracker.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/LoggingTracker.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/LoggingTracker.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/LoggingTracker.scala Wed Nov 3 20:02:43 2010
@@ -18,7 +18,7 @@ package org.apache.activemq.apollo.util
import java.util.concurrent.{CountDownLatch, TimeUnit}
import java.util.HashSet
-import org.fusesource.hawtdispatch.ScalaDispatch._
+import org.fusesource.hawtdispatch._
import org.fusesource.hawtdispatch.{TaskTracker, DispatchQueue}
/**
Modified: activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/ServiceTrait.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/ServiceTrait.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/ServiceTrait.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/ServiceTrait.scala Wed Nov 3 20:02:43 2010
@@ -16,7 +16,7 @@
*/
package org.apache.activemq.apollo.util
-import org.fusesource.hawtdispatch.ScalaDispatch
+import org.fusesource.hawtdispatch._
/**
* <p>
@@ -27,11 +27,11 @@ import org.fusesource.hawtdispatch.Scala
trait ServiceTrait extends Service {
def start(func: =>Unit ):Unit = {
- start( ScalaDispatch.runnable( func _ ) )
+ start( runnable( func _ ) )
}
def stop(func: =>Unit ):Unit = {
- stop( ScalaDispatch.runnable( func _ ) )
+ stop( runnable( func _ ) )
}
-}
\ No newline at end of file
+}
Modified: activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/ServletContextListener.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/ServletContextListener.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/ServletContextListener.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/ServletContextListener.scala Wed Nov 3 20:02:43 2010
@@ -20,6 +20,7 @@ import java.io.File
import org.apache.activemq.apollo.util._
import javax.servlet.{ServletContextListener, ServletContextEvent}
import org.apache.activemq.apollo.broker.{FileConfigStore, ConfigStore, BrokerRegistry, Broker}
+import org.fusesource.hawtdispatch._
/**
* A servlet context listener which handles starting the
@@ -36,20 +37,21 @@ class ApolloListener extends ServletCont
if( ConfigStore() == null ) {
configStore = createConfigStore
ConfigStore() = configStore
-
- // Brokers startup async.
- configStore.foreachBroker(true) { config=>
- println("Config store contained broker: "+config.id);
-
- // Only start the broker up if it's enabled..
- if( config.enabled ) {
-
- println("starting broker: "+config.id);
- val broker = new Broker()
- broker.config = config
- BrokerRegistry.add(config.id, broker)
- broker.start()
-
+ configStore.dispatchQueue {
+ configStore.listBrokers.foreach { id=>
+ configStore.getBroker(id, true).foreach{ config=>
+
+ println("Config store contained broker: "+config.id);
+ // Only start the broker up if it's enabled..
+ if( config.enabled ) {
+
+ println("starting broker: "+config.id);
+ val broker = new Broker()
+ broker.config = config
+ BrokerRegistry.add(config.id, broker)
+ broker.start()
+ }
+ }
}
}
}
@@ -62,11 +64,12 @@ class ApolloListener extends ServletCont
def contextDestroyed(sce: ServletContextEvent) = {
val tracker = new LoggingTracker("webapp shutdown")
if( configStore!=null ) {
- configStore.foreachBroker(false) { config=>
- // remove started brokers what we configured..
- val broker = BrokerRegistry.remove(config.id);
- if( broker!=null ) {
- tracker.stop(broker)
+ configStore.dispatchQueue {
+ configStore.listBrokers.foreach { id=>
+ val broker = BrokerRegistry.remove(id);
+ if( broker!=null ) {
+ tracker.stop(broker)
+ }
}
}
tracker.stop(configStore)
@@ -85,4 +88,4 @@ class ApolloListener extends ServletCont
}
-}
\ No newline at end of file
+}
Modified: activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/ConfigurationResource.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/ConfigurationResource.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/ConfigurationResource.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/ConfigurationResource.scala Wed Nov 3 20:02:43 2010
@@ -18,7 +18,7 @@ package org.apache.activemq.apollo.web.r
import javax.ws.rs._
import core.{UriInfo, Response, Context}
-import org.fusesource.hawtdispatch.Future
+import org.fusesource.hawtdispatch._
import Response.Status._
import Response._
import java.net.URI
@@ -32,13 +32,10 @@ import org.apache.activemq.apollo.broker
@Produces(Array("application/json", "application/xml","text/xml", "text/html;qs=5"))
case class ConfigurationResource(parent:BrokerResource) extends Resource(parent) {
-
- def store = ConfigStore()
-
lazy val config = {
- Future[Option[BrokerDTO]] { cb=>
- store.getBroker(parent.id, false)(cb)
- }.getOrElse(result(NOT_FOUND))
+ ConfigStore.sync{ store=>
+ store.getBroker(parent.id, false).getOrElse(result(NOT_FOUND))
+ }
}
@@ -66,16 +63,16 @@ case class ConfigurationResource(parent:
def put(@PathParam("rev") rev:Int, config:BrokerDTO) = {
config.id = parent.id;
config.rev = rev
- Future[Boolean] { cb=>
- store.putBroker(config)(cb)
- } || result(NOT_FOUND)
+ ConfigStore.sync { store=>
+ store.putBroker(config) || result(NOT_FOUND)
+ }
}
@DELETE @Path("{rev}")
def delete(@PathParam("rev") rev:Int) = {
- Future[Boolean] { cb=>
- store.removeBroker(parent.id, rev)(cb)
- } || result(NOT_FOUND)
+ ConfigStore.sync { store=>
+ store.removeBroker(parent.id, rev) || result(NOT_FOUND)
+ }
}
}
Modified: activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RootResource.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RootResource.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RootResource.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RootResource.scala Wed Nov 3 20:02:43 2010
@@ -22,7 +22,6 @@ import javax.ws.rs._
import core.{UriInfo, Response, Context}
import reflect.{BeanProperty}
import com.sun.jersey.api.view.ImplicitProduces
-import org.fusesource.hawtdispatch.Future
import Response._
import Response.Status._
import org.apache.activemq.apollo.broker.ConfigStore
@@ -34,6 +33,7 @@ import java.util.concurrent.TimeUnit
import org.apache.activemq.apollo.dto._
import java.util.{Arrays, Collections}
import org.apache.activemq.apollo.util.Logging
+import org.fusesource.hawtdispatch._
/**
* Defines the default representations to be used on resources
@@ -136,10 +136,11 @@ class RootResource() extends Resource {
@GET
def brokers = {
val rc = new StringIdListDTO
- Future[List[String]] { cb=>
- ConfigStore().listBrokers(cb)
- }.foreach { x=>
- rc.items.add( new StringIdLabeledDTO(x,x) )
+ val cs = ConfigStore()
+ cs.dispatchQueue.sync {
+ cs.listBrokers.foreach { x=>
+ rc.items.add( new StringIdLabeledDTO(x,x) )
+ }
}
rc
}
@@ -157,12 +158,13 @@ case class BrokerResource(parent:RootRes
@GET
def get = {
+ val cs = ConfigStore()
val rc = new BrokerSummaryDTO
rc.id = id
rc.manageable = BrokerRegistry.get(id)!=null
- rc.configurable = Future[Option[BrokerDTO]] { cb=>
- ConfigStore().getBroker(id, false)(cb)
- }.isDefined
+ rc.configurable = cs.dispatchQueue.sync{
+ cs.getBroker(id,false).isDefined
+ }
rc
}
Modified: activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RuntimeResource.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RuntimeResource.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RuntimeResource.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-web/src/main/scala/org/apache/activemq/apollo/web/resources/RuntimeResource.scala Wed Nov 3 20:02:43 2010
@@ -23,8 +23,7 @@ import java.util.List
import org.apache.activemq.apollo.dto._
import java.{lang => jl}
import collection.JavaConversions
-import org.fusesource.hawtdispatch.{ScalaDispatch, Future}
-import ScalaDispatch._
+import org.fusesource.hawtdispatch._
import org.apache.activemq.apollo.broker._
import collection.mutable.ListBuffer
Modified: activemq/activemq-apollo/trunk/apollo-web/src/test/scala/org/apache/activemq/apollo/web/FileConfigStoreTest.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-web/src/test/scala/org/apache/activemq/apollo/web/FileConfigStoreTest.scala?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-web/src/test/scala/org/apache/activemq/apollo/web/FileConfigStoreTest.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-web/src/test/scala/org/apache/activemq/apollo/web/FileConfigStoreTest.scala Wed Nov 3 20:02:43 2010
@@ -17,10 +17,9 @@
package org.apache.activemq.apollo.web
import java.io.File
-import java.util.concurrent.{TimeUnit, CountDownLatch}
-import org.fusesource.hawtdispatch.Future
import org.apache.activemq.apollo.util._
import org.apache.activemq.apollo.broker.FileConfigStore
+import org.fusesource.hawtdispatch._
/**
* <p>
@@ -40,8 +39,8 @@ class FileConfigStoreTest extends FunSui
}
expect(List("default")) {
- Future[List[String]]{ x=>
- store.listBrokers(x)
+ store.dispatchQueue.sync {
+ store.listBrokers
}
}
Modified: activemq/activemq-apollo/trunk/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/pom.xml?rev=1030638&r1=1030637&r2=1030638&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/pom.xml (original)
+++ activemq/activemq-apollo/trunk/pom.xml Wed Nov 3 20:02:43 2010
@@ -97,7 +97,7 @@
<xbean-version>3.4</xbean-version>
<felix-version>1.0.0</felix-version>
- <hawtdispatch-version>1.0</hawtdispatch-version>
+ <hawtdispatch-version>1.1-SNAPSHOT</hawtdispatch-version>
<hawtdb-version>1.6-SNAPSHOT</hawtdb-version>
<hawtbuf-version>1.3-SNAPSHOT</hawtbuf-version>