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
-
- **/*
-
-
-
-
-
-