diff --git a/api-java/pom.xml b/api-java/pom.xml deleted file mode 100755 index 91e0a5b182..0000000000 --- a/api-java/pom.xml +++ /dev/null @@ -1,75 +0,0 @@ - - 4.0.0 - - Akka Java API - akka-api-java - - jar - - - akka - ${akka.groupId} - ${akka.version} - - - - - ${akka.groupId} - akka-kernel - ${akka.version} - - - junit - junit - 4.5 - - - - - src/main - src/test/java - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - - **/* - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - **/Abstract* - - - - - - - false - src/main/resources - - - false - src/main/java - - ** - - - **/*.java - - - - - - - - diff --git a/buildfile b/buildfile index ac7a797aad..0956684251 100644 --- a/buildfile +++ b/buildfile @@ -4,6 +4,8 @@ require 'buildr/scala' VERSION_NUMBER = '0.1' +ENV['AKKA_HOME'] ||= '.' + repositories.remote << 'http://www.ibiblio.org/maven2' repositories.remote << 'http://scala-tools.org/repo-releases' repositories.remote << 'http://scala-tools.org/repo-snapshots' @@ -12,7 +14,9 @@ repositories.remote << 'http://www.lag.net/repo' AKKA_KERNEL = 'com.scalablesolutions.akka:akka-kernel:jar:0.1' AKKA_SUPERVISOR = 'com.scalablesolutions.akka:akka-supervisor:jar:0.1' AKKA_UTIL_JAVA = 'com.scalablesolutions.akka:akka-util-java:jar:0.1' +AKKA_API_JAVA = 'com.scalablesolutions.akka:akka-api-java:jar:0.1' +SCALA = 'org.scala-lang:scala-library:jar:2.7.3' GUICEYFRUIT = ['org.guiceyfruit:guice-core:jar:2.0-SNAPSHOT', 'org.guiceyfruit:guice-jsr250:jar:2.0-SNAPSHOT'] JERSEY = ['com.sun.jersey:jersey-core:jar:1.0.1', @@ -29,6 +33,10 @@ CONFIGGY = 'net.lag:configgy:jar:1.2' ZOOKEEPER = 'org.apache:zookeeper:jar:3.1.0' GRIZZLY = 'com.sun.grizzly:grizzly-servlet-webserver:jar:1.8.6.3' JUNIT4 = 'junit:junit:jar:4.0' +GOOGLE_COLLECT = 'com.google.code.google-collections:google-collect:jar:snapshot-20080530' +JDOM = 'jdom:jdom:jar:1.0' +MINA_CORE = 'com.assembla.scala.mina:mina-core:jar:2.0.0-M2-SNAPSHOT' +MINA_SCALA = 'com.assembla.scala.mina:mina-integration-scala:jar:2.0.0-M2-SNAPSHOT' desc 'The Akka Actor Kernel' define 'akka' do @@ -52,7 +60,14 @@ define 'akka' do desc 'Akka Actor kernel core implementation' define 'kernel' do - compile.with(AKKA_SUPERVISOR, AKKA_UTIL_JAVA, GUICEYFRUIT, JERSEY, VOLDEMORT, ZOOKEEPER, SLF4J, GRIZZLY, CONFIGGY, JUNIT4) + compile.with(AKKA_SUPERVISOR, AKKA_UTIL_JAVA, GUICEYFRUIT, MINA_CORE, MINA_SCALA, JERSEY, VOLDEMORT, ZOOKEEPER, SLF4J, GRIZZLY, CONFIGGY, JUNIT4) + test.using :specs + package :jar + end + + desc 'Akka DB' + define 'db' do + compile.with(AKKA_KERNEL, MINA_CORE, MINA_SCALA, ZOOKEEPER, CONFIGGY, SLF4J, JUNIT4) test.using :specs package :jar end @@ -71,5 +86,23 @@ define 'akka' do package(:zip).include 'supervisor/target/*.jar', :path=>'lib' package(:zip).include 'api-java/target/*.jar', :path=>'lib' package(:zip).include 'util-java/target/*.jar', :path=>'lib' + + task :run => [:package] do |t| + puts "-------------------------" + puts "Running Akka Actor Kernel" + puts "-------------------------" + puts "\n" + +# uri = URI("file://./lib") +# uri.upload file('kernel') + + cp = [SCALA, GUICEYFRUIT, JERSEY, VOLDEMORT, GOOGLE_COLLECT, JDOM, ZOOKEEPER, SLF4J, GRIZZLY, CONFIGGY, project('kernel').package(:jar)] +# Java.java('com.scalablesolutions.akka.kernel.Kernel', {:classpath => '-cp ' + cp}) + +# cp = FileList[_('lib/*')].join(File::PATH_SEPARATOR) + puts "Running with classpath:\n" + cp + Java.java('com.scalablesolutions.akka.Boot', 'com.scalablesolutions.akka.kernel.Kernel', {:classpath => cp}) + end + end diff --git a/config/stores.xml b/config/stores.xml index 212a1ce97b..393e6b69d2 100644 --- a/config/stores.xml +++ b/config/stores.xml @@ -1,6 +1,6 @@ - snapshot + actors bdb client 1 diff --git a/kernel/lib/activation-1.1.jar b/kernel/lib/activation-1.1.jar deleted file mode 100644 index 53f82a1c4c..0000000000 Binary files a/kernel/lib/activation-1.1.jar and /dev/null differ diff --git a/kernel/lib/aopalliance-1.0.jar b/kernel/lib/aopalliance-1.0.jar deleted file mode 100644 index 578b1a0c35..0000000000 Binary files a/kernel/lib/aopalliance-1.0.jar and /dev/null differ diff --git a/kernel/lib/asm-3.1.jar b/kernel/lib/asm-3.1.jar deleted file mode 100644 index 8217cae0a1..0000000000 Binary files a/kernel/lib/asm-3.1.jar and /dev/null differ diff --git a/kernel/lib/catalina-ant.jar b/kernel/lib/catalina-ant.jar deleted file mode 100644 index 64d5db782b..0000000000 Binary files a/kernel/lib/catalina-ant.jar and /dev/null differ diff --git a/kernel/lib/cglib-2.2.jar b/kernel/lib/cglib-2.2.jar deleted file mode 100644 index 084ef6e54b..0000000000 Binary files a/kernel/lib/cglib-2.2.jar and /dev/null differ diff --git a/kernel/lib/colt-1.2.0.jar b/kernel/lib/colt-1.2.0.jar deleted file mode 100644 index a7192f68b3..0000000000 Binary files a/kernel/lib/colt-1.2.0.jar and /dev/null differ diff --git a/kernel/lib/commons-codec-1.3.jar b/kernel/lib/commons-codec-1.3.jar deleted file mode 100644 index 957b6752af..0000000000 Binary files a/kernel/lib/commons-codec-1.3.jar and /dev/null differ diff --git a/kernel/lib/commons-collections-3.1.jar b/kernel/lib/commons-collections-3.1.jar deleted file mode 100644 index 41e230feea..0000000000 Binary files a/kernel/lib/commons-collections-3.1.jar and /dev/null differ diff --git a/kernel/lib/commons-dbcp-1.2.2.jar b/kernel/lib/commons-dbcp-1.2.2.jar deleted file mode 100644 index faea05626b..0000000000 Binary files a/kernel/lib/commons-dbcp-1.2.2.jar and /dev/null differ diff --git a/kernel/lib/commons-httpclient-3.1.jar b/kernel/lib/commons-httpclient-3.1.jar deleted file mode 100644 index 7c59774aed..0000000000 Binary files a/kernel/lib/commons-httpclient-3.1.jar and /dev/null differ diff --git a/kernel/lib/commons-io-1.3.2.jar b/kernel/lib/commons-io-1.3.2.jar deleted file mode 100644 index 865c9e41ce..0000000000 Binary files a/kernel/lib/commons-io-1.3.2.jar and /dev/null differ diff --git a/kernel/lib/commons-lang-2.1.jar b/kernel/lib/commons-lang-2.1.jar deleted file mode 100644 index 87b80ab5db..0000000000 Binary files a/kernel/lib/commons-lang-2.1.jar and /dev/null differ diff --git a/kernel/lib/commons-logging.jar b/kernel/lib/commons-logging.jar deleted file mode 100755 index b73a80fab6..0000000000 Binary files a/kernel/lib/commons-logging.jar and /dev/null differ diff --git a/kernel/lib/commons-pool-1.4.jar b/kernel/lib/commons-pool-1.4.jar deleted file mode 100644 index b5f9677e22..0000000000 Binary files a/kernel/lib/commons-pool-1.4.jar and /dev/null differ diff --git a/kernel/lib/configgy-1.2.jar b/kernel/lib/configgy-1.2.jar deleted file mode 100644 index 988e533d00..0000000000 Binary files a/kernel/lib/configgy-1.2.jar and /dev/null differ diff --git a/kernel/lib/google-collect-snapshot-20090211.jar b/kernel/lib/google-collect-snapshot-20090211.jar deleted file mode 100644 index f5281988e9..0000000000 Binary files a/kernel/lib/google-collect-snapshot-20090211.jar and /dev/null differ diff --git a/kernel/lib/grizzly-framework-1.8.6.3.jar b/kernel/lib/grizzly-framework-1.8.6.3.jar deleted file mode 100644 index ded488b1b2..0000000000 Binary files a/kernel/lib/grizzly-framework-1.8.6.3.jar and /dev/null differ diff --git a/kernel/lib/grizzly-http-1.8.6.3.jar b/kernel/lib/grizzly-http-1.8.6.3.jar deleted file mode 100644 index 7e6fe75107..0000000000 Binary files a/kernel/lib/grizzly-http-1.8.6.3.jar and /dev/null differ diff --git a/kernel/lib/grizzly-http-servlet-1.8.6.3.jar b/kernel/lib/grizzly-http-servlet-1.8.6.3.jar deleted file mode 100644 index 9011703cc9..0000000000 Binary files a/kernel/lib/grizzly-http-servlet-1.8.6.3.jar and /dev/null differ diff --git a/kernel/lib/grizzly-http-utils-1.8.6.3.jar b/kernel/lib/grizzly-http-utils-1.8.6.3.jar deleted file mode 100644 index 00780f5d40..0000000000 Binary files a/kernel/lib/grizzly-http-utils-1.8.6.3.jar and /dev/null differ diff --git a/kernel/lib/grizzly-portunif-1.8.6.3.jar b/kernel/lib/grizzly-portunif-1.8.6.3.jar deleted file mode 100644 index 0f6fcde17f..0000000000 Binary files a/kernel/lib/grizzly-portunif-1.8.6.3.jar and /dev/null differ diff --git a/kernel/lib/grizzly-rcm-1.8.6.3.jar b/kernel/lib/grizzly-rcm-1.8.6.3.jar deleted file mode 100644 index a6873f29a4..0000000000 Binary files a/kernel/lib/grizzly-rcm-1.8.6.3.jar and /dev/null differ diff --git a/kernel/lib/grizzly-servlet-webserver-1.8.6.3.jar b/kernel/lib/grizzly-servlet-webserver-1.8.6.3.jar deleted file mode 100644 index be0a596ef1..0000000000 Binary files a/kernel/lib/grizzly-servlet-webserver-1.8.6.3.jar and /dev/null differ diff --git a/kernel/lib/guice-core-2.0-SNAPSHOT.jar b/kernel/lib/guice-core-2.0-SNAPSHOT.jar deleted file mode 100644 index 2acfd950fa..0000000000 Binary files a/kernel/lib/guice-core-2.0-SNAPSHOT.jar and /dev/null differ diff --git a/kernel/lib/guice-jsr250-2.0-SNAPSHOT.jar b/kernel/lib/guice-jsr250-2.0-SNAPSHOT.jar deleted file mode 100644 index f2be8ad48d..0000000000 Binary files a/kernel/lib/guice-jsr250-2.0-SNAPSHOT.jar and /dev/null differ diff --git a/kernel/lib/jaxb-api-2.1.jar b/kernel/lib/jaxb-api-2.1.jar deleted file mode 100644 index be3d6dca2f..0000000000 Binary files a/kernel/lib/jaxb-api-2.1.jar and /dev/null differ diff --git a/kernel/lib/jaxb-impl-2.1.jar b/kernel/lib/jaxb-impl-2.1.jar deleted file mode 100644 index f3341e54ff..0000000000 Binary files a/kernel/lib/jaxb-impl-2.1.jar and /dev/null differ diff --git a/kernel/lib/jdom-1.0.jar b/kernel/lib/jdom-1.0.jar deleted file mode 100644 index 288e64cb5c..0000000000 Binary files a/kernel/lib/jdom-1.0.jar and /dev/null differ diff --git a/kernel/lib/je-3.3.62.jar b/kernel/lib/je-3.3.62.jar deleted file mode 100644 index 1ec9577f32..0000000000 Binary files a/kernel/lib/je-3.3.62.jar and /dev/null differ diff --git a/kernel/lib/jersey-atom-1.0.1.jar b/kernel/lib/jersey-atom-1.0.1.jar deleted file mode 100644 index d632d31e60..0000000000 Binary files a/kernel/lib/jersey-atom-1.0.1.jar and /dev/null differ diff --git a/kernel/lib/jersey-core-1.0.1.jar b/kernel/lib/jersey-core-1.0.1.jar deleted file mode 100644 index 040445e156..0000000000 Binary files a/kernel/lib/jersey-core-1.0.1.jar and /dev/null differ diff --git a/kernel/lib/jersey-json-1.0.1.jar b/kernel/lib/jersey-json-1.0.1.jar deleted file mode 100644 index 68a2e432fb..0000000000 Binary files a/kernel/lib/jersey-json-1.0.1.jar and /dev/null differ diff --git a/kernel/lib/jersey-server-1.0.1.jar b/kernel/lib/jersey-server-1.0.1.jar deleted file mode 100644 index 703a5ff63d..0000000000 Binary files a/kernel/lib/jersey-server-1.0.1.jar and /dev/null differ diff --git a/kernel/lib/jettison-1.0.1.jar b/kernel/lib/jettison-1.0.1.jar deleted file mode 100644 index fed929fd0b..0000000000 Binary files a/kernel/lib/jettison-1.0.1.jar and /dev/null differ diff --git a/kernel/lib/jetty-6.1.6rc0.jar b/kernel/lib/jetty-6.1.6rc0.jar deleted file mode 100644 index b27a8c3241..0000000000 Binary files a/kernel/lib/jetty-6.1.6rc0.jar and /dev/null differ diff --git a/kernel/lib/jetty-util-6.1.6rc0.jar b/kernel/lib/jetty-util-6.1.6rc0.jar deleted file mode 100644 index 3a703be426..0000000000 Binary files a/kernel/lib/jetty-util-6.1.6rc0.jar and /dev/null differ diff --git a/kernel/lib/jsr250-api-1.0.jar b/kernel/lib/jsr250-api-1.0.jar deleted file mode 100644 index c1f29bf844..0000000000 Binary files a/kernel/lib/jsr250-api-1.0.jar and /dev/null differ diff --git a/kernel/lib/jsr311-api-1.0.jar b/kernel/lib/jsr311-api-1.0.jar deleted file mode 100644 index 2bede66c1f..0000000000 Binary files a/kernel/lib/jsr311-api-1.0.jar and /dev/null differ diff --git a/kernel/lib/libthrift-20080411p1.jar b/kernel/lib/libthrift-20080411p1.jar deleted file mode 100644 index 0ba61a4788..0000000000 Binary files a/kernel/lib/libthrift-20080411p1.jar and /dev/null differ diff --git a/kernel/lib/log4j-1.2.13.jar b/kernel/lib/log4j-1.2.13.jar deleted file mode 100755 index dde9972109..0000000000 Binary files a/kernel/lib/log4j-1.2.13.jar and /dev/null differ diff --git a/kernel/lib/protobuf-java-2.0.3.jar b/kernel/lib/protobuf-java-2.0.3.jar deleted file mode 100644 index 1165f707d9..0000000000 Binary files a/kernel/lib/protobuf-java-2.0.3.jar and /dev/null differ diff --git a/kernel/lib/rome-0.9.jar b/kernel/lib/rome-0.9.jar deleted file mode 100644 index ba482aecb0..0000000000 Binary files a/kernel/lib/rome-0.9.jar and /dev/null differ diff --git a/kernel/lib/scala-library-2.7.3.jar b/kernel/lib/scala-library-2.7.3.jar deleted file mode 100644 index 734d361f12..0000000000 Binary files a/kernel/lib/scala-library-2.7.3.jar and /dev/null differ diff --git a/kernel/lib/servlet-api-2.5.jar b/kernel/lib/servlet-api-2.5.jar deleted file mode 100644 index fb52493468..0000000000 Binary files a/kernel/lib/servlet-api-2.5.jar and /dev/null differ diff --git a/kernel/lib/slf4j-api-1.4.3.jar b/kernel/lib/slf4j-api-1.4.3.jar deleted file mode 100644 index ec7050cec3..0000000000 Binary files a/kernel/lib/slf4j-api-1.4.3.jar and /dev/null differ diff --git a/kernel/lib/slf4j-log4j12-1.4.3.jar b/kernel/lib/slf4j-log4j12-1.4.3.jar deleted file mode 100644 index c8466de59b..0000000000 Binary files a/kernel/lib/slf4j-log4j12-1.4.3.jar and /dev/null differ diff --git a/kernel/lib/stax-api-1.0-2.jar b/kernel/lib/stax-api-1.0-2.jar deleted file mode 100644 index 015169dc71..0000000000 Binary files a/kernel/lib/stax-api-1.0-2.jar and /dev/null differ diff --git a/kernel/lib/velocity-1.5.jar b/kernel/lib/velocity-1.5.jar deleted file mode 100644 index 7c7f2c43b4..0000000000 Binary files a/kernel/lib/velocity-1.5.jar and /dev/null differ diff --git a/kernel/lib/voldemort-0.4a.jar b/kernel/lib/voldemort-0.4a.jar deleted file mode 100644 index 5f0a58d550..0000000000 Binary files a/kernel/lib/voldemort-0.4a.jar and /dev/null differ diff --git a/kernel/lib/voldemort-contrib-0.4a.jar b/kernel/lib/voldemort-contrib-0.4a.jar deleted file mode 100644 index f8003a9ae7..0000000000 Binary files a/kernel/lib/voldemort-contrib-0.4a.jar and /dev/null differ diff --git a/kernel/lib/xerces.jar b/kernel/lib/xerces.jar deleted file mode 100644 index e9fe08ad45..0000000000 Binary files a/kernel/lib/xerces.jar and /dev/null differ diff --git a/kernel/lib/zookeeper-3.1.0.jar b/kernel/lib/zookeeper-3.1.0.jar deleted file mode 100644 index b7e639e63a..0000000000 Binary files a/kernel/lib/zookeeper-3.1.0.jar and /dev/null differ diff --git a/kernel/pom.xml b/kernel/pom.xml deleted file mode 100755 index c9cf4ec2e4..0000000000 --- a/kernel/pom.xml +++ /dev/null @@ -1,206 +0,0 @@ - - 4.0.0 - - akka-kernel - Akka Kernel Module - - jar - - - akka - ${akka.groupId} - ${akka.version} - - - - - ${akka.groupId} - akka-supervisor - ${akka.version} - - - org.scala-lang - scala-library - ${scala.version} - - - net.lag - configgy - 1.2 - - - org.guiceyfruit - guice-core - 2.0-SNAPSHOT - - - org.guiceyfruit - guice-jsr250 - 2.0-SNAPSHOT - - - com.sun.grizzly - grizzly-servlet-webserver - 1.8.6.3 - - - com.sun.jersey - jersey-server - 1.0.1 - - - com.sun.jersey - jersey-json - 1.0.1 - - - com.sun.jersey - jersey-atom - 1.0.1 - - - voldemort - voldemort - 0.4a - - - voldemort - voldemort-contrib - 0.4a - - - org.apache - zookeeper - 3.1.0 - - - org.slf4j - slf4j-log4j12 - 1.4.3 - - - org.slf4j - slf4j-api - 1.4.3 - - - log4j - log4j - 1.2.13 - - - org.specs - specs - 1.4.3 - test - - - org.scalacheck - scalacheck - 1.5 - test - - - - - src/main/scala - src/test/scala - - - org.scala-tools - maven-scala-plugin - - - - compile - testCompile - - - - - - -target:jvm-1.5 - -unchecked - - ${scala.version} - 1.0 - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - - - ch.epfl.lamp.sdt.core.scalabuilder - - - - - ch.epfl.lamp.sdt.core.scalanature - - - - - org.eclipse.jdt.launching.JRE_CONTAINER - - - ch.epfl.lamp.sdt.launching.SCALA_CONTAINER - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - **/Abstract* - - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.2 - - - xml - html - - - - - - - false - src/main/resources - - - false - src/main/scala - - ** - - - **/*.scala - - - - - - - - org.scala-tools - maven-scala-plugin - - 1.1 - ${scala.version} - - - - - diff --git a/kernel/src/main/scala/ActiveObject.scala b/kernel/src/main/scala/ActiveObject.scala index 64c9d26c80..c580087f05 100755 --- a/kernel/src/main/scala/ActiveObject.scala +++ b/kernel/src/main/scala/ActiveObject.scala @@ -11,6 +11,9 @@ import java.util.{List => JList, ArrayList} import java.lang.reflect.{Method, Field, InvocationHandler, Proxy, InvocationTargetException} import java.lang.annotation.Annotation +import voldemort.client.{SocketStoreClientFactory, StoreClient, StoreClientFactory} +import voldemort.versioning.Versioned + sealed class ActiveObjectException(msg: String) extends RuntimeException(msg) class ActiveObjectInvocationTimeoutException(msg: String) extends ActiveObjectException(msg) @@ -94,14 +97,16 @@ class ActiveObjectProxy(val intf: Class[_], val target: Class[_], val timeout: I invoke(Invocation(m, args, targetInstance)) def invoke(invocation: Invocation): AnyRef = { - if (invocation.method.isAnnotationPresent(oneway)) server ! invocation - else { - val result: ErrRef[AnyRef] = server !!! (invocation, ErrRef({ - throw new ActiveObjectInvocationTimeoutException( - "proxy invocation timed out after " + timeout + " milliseconds") - })) - result() - } + val result: AnyRef = + if (invocation.method.isAnnotationPresent(oneway)) server ! invocation + else { + val result: ErrRef[AnyRef] = server !!! (invocation, ErrRef({ + throw new ActiveObjectInvocationTimeoutException( + "proxy invocation timed out after " + timeout + " milliseconds") + })) + result() + } + result } } diff --git a/kernel/src/main/scala/Boot.scala b/kernel/src/main/scala/Boot.scala index 3dad25c03d..f43276d199 100644 --- a/kernel/src/main/scala/Boot.scala +++ b/kernel/src/main/scala/Boot.scala @@ -4,7 +4,8 @@ package com.scalablesolutions.akka -import com.scalablesolutions.akka.kernel.Logging +import kernel.Logging +import kernel.configuration.ConfigurationException import java.io.File import java.lang.reflect.Method @@ -15,6 +16,11 @@ import java.net.{URL, URLClassLoader} */ object Boot extends Logging { + val HOME = try { System.getenv("AKKA_HOME") } catch { case e: NullPointerException => throw new ConfigurationException("AKKA_HOME system variable needs to be set") } + val CLASSES = HOME + "/classes" + val LIB = HOME + "/lib" + val CONFIG = HOME + "/config" + /** * Assumes that the AKKA_HOME directory is set with /config, /classes and /lib beneath it holding files and jars. * Thus: @@ -25,12 +31,6 @@ object Boot extends Logging { * $AKKA_HOME/config */ def main(args: Array[String]): Unit = { - // TODO: read from env rather than jvm variables - val HOME = System.getProperty("AKKA_HOME", ".") - val CLASSES = HOME + "/classes" - val LIB = HOME + "/lib" - val CONFIG = HOME + "/config" - log.info("Bootstrapping Akka server from AKKA_HOME=%s", HOME) val libs = for (f <- new File(LIB).listFiles().toArray.toList.asInstanceOf[List[File]]) yield f.toURL diff --git a/kernel/src/main/scala/Configuration.scala b/kernel/src/main/scala/Configuration.scala index dfb302e709..a4cb87ee44 100755 --- a/kernel/src/main/scala/Configuration.scala +++ b/kernel/src/main/scala/Configuration.scala @@ -12,6 +12,8 @@ import scala.reflect.BeanProperty // ============================================ // Java version of the configuration API +sealed class ConfigurationException(msg: String) extends RuntimeException(msg) + sealed abstract class Configuration class RestartStrategy(@BeanProperty val scheme: FailOverScheme, @BeanProperty val maxNrOfRetries: Int, @BeanProperty val withinTimeRange: Int) extends Configuration { diff --git a/kernel/src/main/scala/Kernel.scala b/kernel/src/main/scala/Kernel.scala index 4073f699c2..149c2923c4 100755 --- a/kernel/src/main/scala/Kernel.scala +++ b/kernel/src/main/scala/Kernel.scala @@ -30,8 +30,7 @@ import javax.management.JMException object Kernel extends Logging { val SERVER_URL = "localhost" - val HOME = System.getProperty("AKKA_HOME", ".") - + val JERSEY_SERVER_URL = "http://" + SERVER_URL + "/" val JERSEY_SERVER_PORT = 9998 val JERSEY_REST_CLASSES_ROOT_PACKAGE = "com.scalablesolutions.akka.kernel" @@ -39,10 +38,14 @@ object Kernel extends Logging { val VOLDEMORT_SERVER_URL = "tcp://" + SERVER_URL val VOLDEMORT_SERVER_PORT = 6666 + val VOLDEMORT_BOOTSTRAP_URL = VOLDEMORT_SERVER_URL + ":" + VOLDEMORT_SERVER_PORT val ZOO_KEEPER_SERVER_URL = SERVER_URL val ZOO_KEEPER_SERVER_PORT = 9898 + private[this] var storageFactory: StoreClientFactory = _ + private[this] var storageServer: VoldemortServer = _ + def main(args: Array[String]): Unit = { //startZooKeeper startVoldemort @@ -63,12 +66,36 @@ object Kernel extends Logging { } private[akka] def startVoldemort = { - val config = VoldemortConfig.loadFromVoldemortHome(HOME) - val server = new VoldemortServer(config) - server.start - log.info("Replicated persistent storage server started at %s", VOLDEMORT_SERVER_URL + ":" + VOLDEMORT_SERVER_PORT) + // Start Voldemort server + val config = VoldemortConfig.loadFromVoldemortHome(Boot.HOME) + storageServer = new VoldemortServer(config) + storageServer.start + log.info("Replicated persistent storage server started at %s", VOLDEMORT_BOOTSTRAP_URL) + + // Create Voldemort client factory + val numThreads = 10 + val maxQueuedRequests = 10 + val maxConnectionsPerNode = 10 + val maxTotalConnections = 100 + storageFactory = new SocketStoreClientFactory( + numThreads, + numThreads, + maxQueuedRequests, + maxConnectionsPerNode, + maxTotalConnections, + VOLDEMORT_BOOTSTRAP_URL) + + val name = this.getClass.getName + val storage = getStorageFor("actors") +// val value = storage.get(name) + val value = new Versioned("state") + //value.setObject("state") + storage.put(name, value) } + private[akka] def getStorageFor(storageName: String): StoreClient[String, String] = + storageFactory.getStoreClient(storageName) + // private[akka] def startZooKeeper = { // try { // ManagedUtil.registerLog4jMBeans @@ -100,25 +127,6 @@ object Kernel extends Logging { // } catch { case e => log.fatal("Unexpected exception: s%",e) } // } - private[akka] def getStorage(storageName: String): StoreClient[String, String] = { - //Versioned value = client.get("some_key"); - //value.setObject("some_value"); - //client.put("some_key", value); - val numThreads = 10 - val maxQueuedRequests = 10 - val maxConnectionsPerNode = 10 - val maxTotalConnections = 100 - val bootstrapUrl = VOLDEMORT_SERVER_URL + VOLDEMORT_SERVER_PORT - val factory = new SocketStoreClientFactory( - numThreads, - numThreads, - maxQueuedRequests, - maxConnectionsPerNode, - maxTotalConnections, - bootstrapUrl) - factory.getStoreClient(storageName) - } - private def getPort(defaultPort: Int) = { val port = System.getenv("JERSEY_HTTP_PORT") if (null != port) Integer.parseInt(port) diff --git a/pom.xml b/pom.xml deleted file mode 100755 index 0dfe6b8f4a..0000000000 --- a/pom.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - 4.0.0 - - Akka Actor Kernel - akka - ${akka.groupId} - ${akka.version} - 2009 - pom - - - 0.1 - com.scalablesolutions.akka - 2.7.3 - - - - util-java - supervisor - kernel - api-java - - - - - repo1.maven - Maven Main Repository - http://repo1.maven.org/maven2 - - - scala-tools-snapshots - Scala-Tools Maven2 Snapshot Repository - http://scala-tools.org/repo-snapshots - - - scala-tools - Scala-Tools Maven2 Repository - http://scala-tools.org/repo-releases - - - lag - Configgy's' Repository - http://www.lag.net/repo - - - maven2-repository.dev.java.net - Java.net Repository for Maven - http://download.java.net/maven/2 - - - java.net - http://download.java.net/maven/1 - legacy - - - - - - scala-tools.org - Scala-Tools Maven2 Repository - http://scala-tools.org/repo-releases - - - - - - - org.apache.maven.plugins - maven-antrun-plugin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/supervisor/pom.xml b/supervisor/pom.xml deleted file mode 100755 index e15d91eb64..0000000000 --- a/supervisor/pom.xml +++ /dev/null @@ -1,139 +0,0 @@ - - 4.0.0 - - akka-supervisor - Akka Supervisor Module - - jar - - - akka - ${akka.groupId} - ${akka.version} - - - - - ${akka.groupId} - akka-util-java - ${akka.version} - - - org.scala-lang - scala-library - ${scala.version} - - - net.lag - configgy - 1.2 - - - org.specs - specs - 1.4.3 - test - - - - - src/main/scala - src/test/scala - - - org.scala-tools - maven-scala-plugin - - - - compile - - - - - - -target:jvm-1.5 - -unchecked - - ${scala.version} - 1.0 - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - - - ch.epfl.lamp.sdt.core.scalabuilder - - - - - ch.epfl.lamp.sdt.core.scalanature - - - - - org.eclipse.jdt.launching.JRE_CONTAINER - - - ch.epfl.lamp.sdt.launching.SCALA_CONTAINER - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - **/Abstract* - - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.2 - - - xml - html - - - - - - - false - src/main/resources - - - false - src/main/scala - - ** - - - **/*.scala - - - - - - - - org.scala-tools - maven-scala-plugin - - 1.1 - ${scala.version} - - - - - diff --git a/util-java/pom.xml b/util-java/pom.xml deleted file mode 100755 index 981fdac2e1..0000000000 --- a/util-java/pom.xml +++ /dev/null @@ -1,33 +0,0 @@ - - 4.0.0 - - akka-util-java - Akka Java Utilities Module - - jar - - - akka - ${akka.groupId} - ${akka.version} - - - - src/main/java - src/test/java - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.5 - 1.5 - - **/* - - - - - -