diff --git a/akka-actors/pom.xml b/akka-actors/pom.xml index b7372a1e6e..14452ef266 100644 --- a/akka-actors/pom.xml +++ b/akka-actors/pom.xml @@ -70,19 +70,19 @@ - org.h2.compress + voldemort.store.compress h2-lzf 1.0 org.codehaus.jackson jackson-core-asl - 1.1.0 + 1.2.1 org.codehaus.jackson jackson-mapper-asl - 1.1.0 + 1.2.1 com.google.protobuf diff --git a/akka-camel/pom.xml b/akka-camel/pom.xml deleted file mode 100644 index a862e8f64f..0000000000 --- a/akka-camel/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - akka-camel - Akka Camel Module - - jar - - - akka - se.scalablesolutions.akka - 0.6 - ../pom.xml - - - - - - akka-util - ${project.groupId} - ${project.version} - - - akka-actors - ${project.groupId} - ${project.version} - - - org.apache.camel - camel-core - 2.0-SNAPSHOT - - - - - - - false - src/main/resources - - META-INF/* - - - - - diff --git a/akka-camel/src/main/resources/META-INF/services/org/apache/camel/component/akka b/akka-camel/src/main/resources/META-INF/services/org/apache/camel/component/akka deleted file mode 100644 index 7c846bc93e..0000000000 --- a/akka-camel/src/main/resources/META-INF/services/org/apache/camel/component/akka +++ /dev/null @@ -1 +0,0 @@ -class=se.scalablesolutions.akka.kernel.camel.ActiveObjectComponent \ No newline at end of file diff --git a/akka-camel/src/main/scala/ActiveObjectComponent.scala b/akka-camel/src/main/scala/ActiveObjectComponent.scala deleted file mode 100644 index f95fd3c2ed..0000000000 --- a/akka-camel/src/main/scala/ActiveObjectComponent.scala +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -import config.ActiveObjectConfigurator - -import java.util.Map -import java.util.concurrent.{BlockingQueue, LinkedBlockingQueue} - -import org.apache.camel.{Endpoint, Exchange} -import org.apache.camel.impl.DefaultComponent - -/** - * @author Jonas Bonér - */ -class ActiveObjectComponent(val conf: ActiveObjectConfigurator) extends DefaultComponent { - override def createEndpoint(uri: String, remaining: String, parameters: Map[_,_]): Endpoint = { - //val consumers = getAndRemoveParameter(parameters, "concurrentConsumers", classOf[Int], 1) - new ActiveObjectEndpoint(uri, this, conf) - } -} diff --git a/akka-camel/src/main/scala/ActiveObjectConsumer.scala b/akka-camel/src/main/scala/ActiveObjectConsumer.scala deleted file mode 100644 index f9f187de45..0000000000 --- a/akka-camel/src/main/scala/ActiveObjectConsumer.scala +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -import java.util.concurrent.{BlockingQueue, ExecutorService, Executors, ThreadFactory, TimeUnit} - -import util.Logging - -import org.apache.camel.{AsyncCallback, AsyncProcessor, Consumer, Exchange, Processor} -import org.apache.camel.impl.ServiceSupport -import org.apache.camel.impl.converter.AsyncProcessorTypeConverter - -/** - * @author Jonas Bonér - */ -class ActiveObjectConsumer( - val endpoint: ActiveObjectEndpoint, - proc: Processor, - val activeObject: AnyRef) - extends ServiceSupport with Consumer with Runnable with Logging { - val processor = AsyncProcessorTypeConverter.convert(proc) - println("------- creating consumer for: "+ endpoint.uri) - - override def run = { - } - - def doStart() = { - } - - def doStop() = { - } - - override def toString(): String = "ActiveObjectConsumer [" + endpoint.getEndpointUri + "]" -} diff --git a/akka-camel/src/main/scala/ActiveObjectEndpoint.scala b/akka-camel/src/main/scala/ActiveObjectEndpoint.scala deleted file mode 100644 index 3999c0b897..0000000000 --- a/akka-camel/src/main/scala/ActiveObjectEndpoint.scala +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -import config.ActiveObjectConfigurator -import util.Logging - -import java.util.{ArrayList, HashSet, List, Set} -import java.util.concurrent.{BlockingQueue, CopyOnWriteArraySet, LinkedBlockingQueue} - -import org.apache.camel.{Component, Consumer, Exchange, Processor, Producer} -import org.apache.camel.impl.{DefaultEndpoint, DefaultComponent}; -import org.apache.camel.spi.BrowsableEndpoint; - -/** - * @author Jonas Bonér - */ -class ActiveObjectEndpoint(val uri: String, val component: DefaultComponent, val conf: ActiveObjectConfigurator) // FIXME: need abstraction trait here - extends DefaultEndpoint(uri) with BrowsableEndpoint with Logging { - - val firstSep = uri.indexOf(':') - val lastSep = uri.lastIndexOf( '.') - - val scheme = uri.substring(0, firstSep) - val activeObjectName = uri.substring(uri.indexOf(':') + 1, lastSep) - val activeObjectClass = Thread.currentThread.getContextClassLoader.loadClass(activeObjectName) - val methodName = uri.substring(lastSep + 1, uri.length) - val activeObject = conf.getInstance(activeObjectClass).asInstanceOf[MessageDriven] -// val activeObjectProxy = conf.getInstanceProxy(activeObjectName) - -// val genericServer = supervisor.getServerOrElse( -// activeObjectName, -// throw new IllegalArgumentException("Can't find active object with name [" + activeObjectName + "] and method [" + methodName + "]")) - - log.debug("Creating Camel Endpoint for scheme [%s] and component [%s]", scheme, activeObjectName) - - private var queue: BlockingQueue[Exchange] = new LinkedBlockingQueue[Exchange](1000) - - override def createProducer: Producer = new ActiveObjectProducer(this, activeObject) - - override def createConsumer(processor: Processor): Consumer = new ActiveObjectConsumer(this, processor, activeObject) - - override def getExchanges: List[Exchange] = new ArrayList[Exchange](queue) - - override def isSingleton = true -} diff --git a/akka-camel/src/main/scala/ActiveObjectProducer.scala b/akka-camel/src/main/scala/ActiveObjectProducer.scala deleted file mode 100644 index 9494510097..0000000000 --- a/akka-camel/src/main/scala/ActiveObjectProducer.scala +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -import java.util.Collection -import util.Logging; -import java.util.concurrent.BlockingQueue; - -import org.apache.camel.{Exchange, AsyncProcessor, AsyncCallback} -import org.apache.camel.impl.DefaultProducer - -/** - * @author Jonas Bonér - */ -class ActiveObjectProducer( - val endpoint: ActiveObjectEndpoint, - val activeObject: MessageDriven) - extends DefaultProducer(endpoint) with AsyncProcessor with Logging { - private val actorName = endpoint.activeObjectName - - def process(exchange: Exchange) = activeObject.onMessage(exchange) // FIXME: should we not invoke the generic server here? - - def process(exchange: Exchange, callback: AsyncCallback): Boolean = { - val copy = exchange.copy - copy.setProperty("CamelAsyncCallback", callback) - activeObject.onMessage(copy) - callback.done(true) - true - } - - override def doStart = { - super.doStart - } - - override def doStop = { - super.doStop - } - - override def toString(): String = "ActiveObjectProducer [" + endpoint.getEndpointUri + "]" -} diff --git a/akka-camel/src/main/scala/CamelConfigurator.scala b/akka-camel/src/main/scala/CamelConfigurator.scala deleted file mode 100644 index 76ddebeaf1..0000000000 --- a/akka-camel/src/main/scala/CamelConfigurator.scala +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.config - -import org.apache.camel.{Routes, CamelContext, Endpoint} - -trait CamelConfigurator { - - /** - * Add Camel routes for the active objects. - *
-   * activeObjectConfigurator.addRoutes(new RouteBuilder() {
-   *   def configure = {
-   *     from("akka:actor1").to("akka:actor2")
-   *     from("akka:actor2").process(new Processor() {
-   *       def process(e: Exchange) = {
-   *         println("Received exchange: " + e.getIn())
-   *       }
-   *     })
-   *   }
-   * }).inject().supervise();
-   * 
- */ - def addRoutes(routes: Routes): ActiveObjectConfiguratorBase - - def getCamelContext: CamelContext - - def getRoutingEndpoint(uri: String): Endpoint - - def getRoutingEndpoints: java.util.Collection[Endpoint] - - def getRoutingEndpoints(uri: String): java.util.Collection[Endpoint] -} diff --git a/akka-camel/src/main/scala/MessageDriven.scala b/akka-camel/src/main/scala/MessageDriven.scala deleted file mode 100644 index 3e73a4101b..0000000000 --- a/akka-camel/src/main/scala/MessageDriven.scala +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -import org.apache.camel.Exchange - -/** - * @author Jonas Bonér - */ -trait MessageDriven { - def onMessage(exchange: Exchange) -} \ No newline at end of file diff --git a/akka-camel/src/main/scala/SupervisorAwareCamelContext.scala b/akka-camel/src/main/scala/SupervisorAwareCamelContext.scala deleted file mode 100644 index 4b9ee8b41d..0000000000 --- a/akka-camel/src/main/scala/SupervisorAwareCamelContext.scala +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -import actor.Supervisor -import util.Logging -import org.apache.camel.impl.{DefaultCamelContext, DefaultEndpoint, DefaultComponent} - -/** - * @author Jonas Bonér - */ -class SupervisorAwareCamelContext extends DefaultCamelContext with Logging { - var supervisor: Supervisor = _ -} \ No newline at end of file diff --git a/akka-camel/src/test/scala/CamelSpec.scala b/akka-camel/src/test/scala/CamelSpec.scala deleted file mode 100644 index 7934f69445..0000000000 --- a/akka-camel/src/test/scala/CamelSpec.scala +++ /dev/null @@ -1,101 +0,0 @@ -/** - * Copyright (C) 2009 Scalable Solutions. - */ - -package se.scalablesolutions.akka.camel - -/* -import config.ActiveObjectGuiceConfigurator -import annotation.oneway -import config.ScalaConfig._ - -import com.google.inject.{AbstractModule, Scopes} -//import com.jteigen.scalatest.JUnit4Runner - -import org.apache.camel.component.bean.ProxyHelper -import org.junit.runner.RunWith -import org.scalatest._ -import org.scalatest.matchers._ - -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -import org.apache.camel.CamelContext -import org.apache.camel.Endpoint -import org.apache.camel.Exchange -import org.apache.camel.Processor -import org.apache.camel.Producer -import org.apache.camel.builder.RouteBuilder -import org.apache.camel.impl.DefaultCamelContext - -// REQUIRES: -Djava.naming.factory.initial=org.apache.camel.util.jndi.CamelInitialContextFactory -*/ -/** - * @author Jonas Bonér - * -//@RunWith(classOf[JUnit4Runner]) -class CamelSpec extends Spec with ShouldMatchers { - - describe("A Camel routing scheme") { - it("should route message from direct:test to actor A using @Bean endpoint") { - - val latch = new CountDownLatch(1); - - val conf = new ActiveObjectGuiceConfigurator - conf.configure( - RestartStrategy(AllForOne, 3, 5000), - Component( - "camelfoo", - classOf[CamelFoo], - classOf[CamelFooImpl], - LifeCycle(Permanent), - 1000) :: - Nil - ).addRoutes(new RouteBuilder() { - def configure = { - from("direct:test").to("bean:camelfoo").process(new Processor() { - def process(e: Exchange) = { - println("Received exchange: " + e.getIn()) - latch.countDown - } - }) - }} - ).supervise - - val endpoint = conf.getRoutingEndpoint("direct:test") - val proxy = ProxyHelper.createProxy(endpoint, classOf[CamelFoo]) - - proxy.foo("hello there") - - val exchange = endpoint.createExchange - println("----- " + exchange) - - exchange.getIn().setBody("hello there") - - val producer = endpoint.createProducer - println("----- " + producer) - - producer.process(exchange) - - // now lets sleep for a while - val received = latch.await(5, TimeUnit.SECONDS) - received should equal (true) - conf.stop - } - } -} - -trait CamelFoo { - @oneway def foo(msg: String) -} -trait CamelBar { - def bar(msg: String): String -} - -class CamelFooImpl extends CamelFoo { - def foo(msg: String) = println("CamelFoo.foo:" + msg) -} -class CamelBarImpl extends CamelBar { - def bar(msg: String) = msg + "return_bar " -} - */ diff --git a/akka-kernel/pom.xml b/akka-kernel/pom.xml index c22d8b39ed..4edc8ee5bf 100755 --- a/akka-kernel/pom.xml +++ b/akka-kernel/pom.xml @@ -37,11 +37,6 @@ ${project.groupId} ${project.version}
- - akka-camel - ${project.groupId} - ${project.version} - akka-security ${project.groupId} diff --git a/akka-persistence/pom.xml b/akka-persistence/pom.xml index 10f90035b9..e85bf912b3 100644 --- a/akka-persistence/pom.xml +++ b/akka-persistence/pom.xml @@ -28,9 +28,9 @@ - com.mongodb - mongo - 1.0 + org.mongodb + mongo-java-driver + 1.1 diff --git a/embedded-repo/com/mongodb/mongo/0.6/mongo-0.6.jar b/embedded-repo/com/mongodb/mongo/0.6/mongo-0.6.jar deleted file mode 100644 index 444a5c6667..0000000000 Binary files a/embedded-repo/com/mongodb/mongo/0.6/mongo-0.6.jar and /dev/null differ diff --git a/embedded-repo/high-scale-lib/high-scale-lib/1.0/high-scale-lib-1.0.jar b/embedded-repo/high-scale-lib/high-scale-lib/1.0/high-scale-lib-1.0.jar deleted file mode 100644 index 421a436eed..0000000000 Binary files a/embedded-repo/high-scale-lib/high-scale-lib/1.0/high-scale-lib-1.0.jar and /dev/null differ diff --git a/embedded-repo/high-scale-lib/high-scale-lib/1.0/high-scale-lib-1.0.pom b/embedded-repo/high-scale-lib/high-scale-lib/1.0/high-scale-lib-1.0.pom deleted file mode 100644 index 04bcc9345c..0000000000 --- a/embedded-repo/high-scale-lib/high-scale-lib/1.0/high-scale-lib-1.0.pom +++ /dev/null @@ -1,8 +0,0 @@ - - - 4.0.0 - high-scale-lib - high-scale-lib - 1.0 - jar - \ No newline at end of file diff --git a/embedded-repo/org/apache/camel/camel-core/2.0-SNAPSHOT/camel-core-2.0-SNAPSHOT.jar b/embedded-repo/org/apache/camel/camel-core/2.0-SNAPSHOT/camel-core-2.0-SNAPSHOT.jar deleted file mode 100644 index 61b8015a70..0000000000 Binary files a/embedded-repo/org/apache/camel/camel-core/2.0-SNAPSHOT/camel-core-2.0-SNAPSHOT.jar and /dev/null differ diff --git a/embedded-repo/org/apache/camel/camel-core/2.0-SNAPSHOT/camel-core-2.0-SNAPSHOT.pom b/embedded-repo/org/apache/camel/camel-core/2.0-SNAPSHOT/camel-core-2.0-SNAPSHOT.pom deleted file mode 100644 index 35af36dcb7..0000000000 --- a/embedded-repo/org/apache/camel/camel-core/2.0-SNAPSHOT/camel-core-2.0-SNAPSHOT.pom +++ /dev/null @@ -1,8 +0,0 @@ - - - 4.0.0 - org.apache.camel - camel-core - 2.0-SNAPSHOT - jar - \ No newline at end of file diff --git a/embedded-repo/org/apache/zookeeper/3.1.0/zookeeper-3.1.0.jar b/embedded-repo/org/apache/zookeeper/3.1.0/zookeeper-3.1.0.jar deleted file mode 100644 index b7e639e63a..0000000000 Binary files a/embedded-repo/org/apache/zookeeper/3.1.0/zookeeper-3.1.0.jar and /dev/null differ diff --git a/embedded-repo/org/apache/zookeeper/3.1.0/zookeeper-3.1.0.pom b/embedded-repo/org/apache/zookeeper/3.1.0/zookeeper-3.1.0.pom deleted file mode 100755 index dcf681ab33..0000000000 --- a/embedded-repo/org/apache/zookeeper/3.1.0/zookeeper-3.1.0.pom +++ /dev/null @@ -1,8 +0,0 @@ - - - 4.0.0 - org.apache - zookeeper - 3.1.0 - jar - \ No newline at end of file diff --git a/embedded-repo/org/codehaus/jackson/jackson-core-asl/1.1.0/jackson-core-asl-1.1.0.jar b/embedded-repo/org/codehaus/jackson/jackson-core-asl/1.1.0/jackson-core-asl-1.1.0.jar deleted file mode 100644 index 6b561dd2be..0000000000 Binary files a/embedded-repo/org/codehaus/jackson/jackson-core-asl/1.1.0/jackson-core-asl-1.1.0.jar and /dev/null differ diff --git a/embedded-repo/org/codehaus/jackson/jackson-core-asl/1.1.0/jackson-core-asl-1.1.0.pom b/embedded-repo/org/codehaus/jackson/jackson-core-asl/1.1.0/jackson-core-asl-1.1.0.pom deleted file mode 100644 index 022b2ba772..0000000000 --- a/embedded-repo/org/codehaus/jackson/jackson-core-asl/1.1.0/jackson-core-asl-1.1.0.pom +++ /dev/null @@ -1,8 +0,0 @@ - - - 4.0.0 - org.codehaus.jackson - jackson-core-asl - 1.1.0 - jar - \ No newline at end of file diff --git a/embedded-repo/org/codehaus/jackson/jackson-mapper-asl/1.1.0/jackson-mapper-asl-1.1.0.jar b/embedded-repo/org/codehaus/jackson/jackson-mapper-asl/1.1.0/jackson-mapper-asl-1.1.0.jar deleted file mode 100644 index 1b37ad3772..0000000000 Binary files a/embedded-repo/org/codehaus/jackson/jackson-mapper-asl/1.1.0/jackson-mapper-asl-1.1.0.jar and /dev/null differ diff --git a/embedded-repo/org/codehaus/jackson/jackson-mapper-asl/1.1.0/jackson-mapper-asl-1.1.0.pom b/embedded-repo/org/codehaus/jackson/jackson-mapper-asl/1.1.0/jackson-mapper-asl-1.1.0.pom deleted file mode 100644 index a16880d32e..0000000000 --- a/embedded-repo/org/codehaus/jackson/jackson-mapper-asl/1.1.0/jackson-mapper-asl-1.1.0.pom +++ /dev/null @@ -1,8 +0,0 @@ - - - 4.0.0 - org.codehaus.jackson - jackson-mapper-asl - 1.1.0 - jar - \ No newline at end of file diff --git a/embedded-repo/org/h2/compress/h2-lzf/1.0/h2-lzf-1.0.jar b/embedded-repo/voldemort/store/compress/h2-lzf/1.0/h2-lzf-1.0.jar similarity index 100% rename from embedded-repo/org/h2/compress/h2-lzf/1.0/h2-lzf-1.0.jar rename to embedded-repo/voldemort/store/compress/h2-lzf/1.0/h2-lzf-1.0.jar diff --git a/embedded-repo/org/h2/compress/h2-lzf/1.0/h2-lzf-1.0.pom b/embedded-repo/voldemort/store/compress/h2-lzf/1.0/h2-lzf-1.0.pom similarity index 88% rename from embedded-repo/org/h2/compress/h2-lzf/1.0/h2-lzf-1.0.pom rename to embedded-repo/voldemort/store/compress/h2-lzf/1.0/h2-lzf-1.0.pom index b24cca8b9c..944dfbca28 100644 --- a/embedded-repo/org/h2/compress/h2-lzf/1.0/h2-lzf-1.0.pom +++ b/embedded-repo/voldemort/store/compress/h2-lzf/1.0/h2-lzf-1.0.pom @@ -1,7 +1,7 @@ 4.0.0 - org.h2.compress + voldemort.store.compress h2-lzf 1.0 jar diff --git a/embedded-repo/org/h2/compress/h2-lzf/maven-metadata-local.xml b/embedded-repo/voldemort/store/compress/h2-lzf/maven-metadata-local.xml similarity index 100% rename from embedded-repo/org/h2/compress/h2-lzf/maven-metadata-local.xml rename to embedded-repo/voldemort/store/compress/h2-lzf/maven-metadata-local.xml diff --git a/pom.xml b/pom.xml index d89166c09d..150dd4edba 100755 --- a/pom.xml +++ b/pom.xml @@ -13,12 +13,26 @@ pom - Akka implements a unique hybrid of the Actor model and Software Transactional Memory (STM). - Akka gives you you: - * Concurrency (high-level and simple). - * Asynchronous, non-blocking, event-driven and highly performant components. - * Scalability through very performant remote actors. - * Fault-tolerance through supervision hierarchies with “let-it-crash” semantics. + Akka implements a unique hybrid of: + * Actors , which gives you: + * Simple and high-level abstractions for concurrency and parallelism. + * Asynchronous, non-blocking and highly performant event-driven programming model. + * Very lightweight event-driven processes (create ~6.5 million actors on 4 G RAM). + * Supervision hierarchies with let-it-crash semantics. For writing highly fault-tolerant systems that never stops, systems that self-heals. + * Software Transactional Memory (STM). (Distributed transactions coming soon). + * Transactors: combine actors and STM into transactional actors. Allows you to compose atomic message flows with automatic rollback and retry. + * Remoting: highly performant distributed actors with remote supervision and error management. + * Cluster membership management. + + Akka also has a set of add-on modules: + * Persistence: A set of pluggable back-end storage modules that works in sync with the STM. + * Cassandra distributed and highly scalable database. + * MongoDB document database. + * Redis data structures database (upcoming) + * REST (JAX-RS): Expose actors as REST services. + * Comet: Expose actors as Comet services. + * Security: Digest and Kerberos based security. + * Microkernel: Run Akka as a stand-alone kernel. @@ -39,7 +53,6 @@ akka-actors akka-persistence akka-rest - akka-camel akka-amqp akka-security akka-kernel