diff --git a/akka-active-object-test/src/test/java/se/scalablesolutions/akka/api/Foo.java b/akka-active-object-test/src/test/java/se/scalablesolutions/akka/api/Foo.java index 1d479b039d..cae712c5aa 100644 --- a/akka-active-object-test/src/test/java/se/scalablesolutions/akka/api/Foo.java +++ b/akka-active-object-test/src/test/java/se/scalablesolutions/akka/api/Foo.java @@ -23,7 +23,7 @@ public class Foo extends se.scalablesolutions.akka.serialization.Serializable.Ja return "test"; } public String throwsException() { - if (true) throw new RuntimeException("expected"); + if (true) throw new RuntimeException("Expected exception; to test fault-tolerance"); return "test"; } diff --git a/akka-active-object-test/src/test/java/se/scalablesolutions/akka/api/InMemFailer.java b/akka-active-object-test/src/test/java/se/scalablesolutions/akka/api/InMemFailer.java index 92b07020da..d6b9c3482f 100644 --- a/akka-active-object-test/src/test/java/se/scalablesolutions/akka/api/InMemFailer.java +++ b/akka-active-object-test/src/test/java/se/scalablesolutions/akka/api/InMemFailer.java @@ -2,6 +2,6 @@ package se.scalablesolutions.akka.api; public class InMemFailer implements java.io.Serializable { public int fail() { - throw new RuntimeException("expected"); + throw new RuntimeException("Expected exception; to test fault-tolerance"); } } diff --git a/akka-core/src/main/scala/remote/MessageSerializer.scala b/akka-core/src/main/scala/remote/MessageSerializer.scala index 4da98997d8..3e1ba14aac 100644 --- a/akka-core/src/main/scala/remote/MessageSerializer.scala +++ b/akka-core/src/main/scala/remote/MessageSerializer.scala @@ -27,46 +27,38 @@ object MessageSerializer { messageProtocol.getSerializationScheme match { case SerializationSchemeType.JAVA => unbox(SERIALIZER_JAVA.fromBinary(messageProtocol.getMessage.toByteArray, None)) + case SerializationSchemeType.PROTOBUF => + val clazz = loadManifest(SERIALIZER_PROTOBUF.classLoader, messageProtocol) + SERIALIZER_PROTOBUF.fromBinary(messageProtocol.getMessage.toByteArray, Some(clazz)) case SerializationSchemeType.SBINARY => - val classToLoad = new String(messageProtocol.getMessageManifest.toByteArray) - val clazz = if (SERIALIZER_SBINARY.classLoader.isDefined) SERIALIZER_SBINARY.classLoader.get.loadClass(classToLoad) - else Class.forName(classToLoad) + val clazz = loadManifest(SERIALIZER_SBINARY.classLoader, messageProtocol) val renderer = clazz.newInstance.asInstanceOf[Serializable.SBinary[_ <: AnyRef]] renderer.fromBytes(messageProtocol.getMessage.toByteArray) case SerializationSchemeType.SCALA_JSON => - val manifest = SERIALIZER_JAVA.fromBinary(messageProtocol.getMessageManifest.toByteArray, None).asInstanceOf[String] - SERIALIZER_SCALA_JSON.fromBinary(messageProtocol.getMessage.toByteArray, Some(Class.forName(manifest))) + val clazz = loadManifest(SERIALIZER_SCALA_JSON.classLoader, messageProtocol) + SERIALIZER_SCALA_JSON.fromBinary(messageProtocol.getMessage.toByteArray, Some(clazz)) case SerializationSchemeType.JAVA_JSON => - val manifest = SERIALIZER_JAVA.fromBinary(messageProtocol.getMessageManifest.toByteArray, None).asInstanceOf[String] - SERIALIZER_JAVA_JSON.fromBinary(messageProtocol.getMessage.toByteArray, Some(Class.forName(manifest))) - case SerializationSchemeType.PROTOBUF => - val messageClass = SERIALIZER_JAVA.fromBinary(messageProtocol.getMessageManifest.toByteArray, None).asInstanceOf[Class[_]] - SERIALIZER_PROTOBUF.fromBinary(messageProtocol.getMessage.toByteArray, Some(messageClass)) + val clazz = loadManifest(SERIALIZER_JAVA_JSON.classLoader, messageProtocol) + SERIALIZER_JAVA_JSON.fromBinary(messageProtocol.getMessage.toByteArray, Some(clazz)) } } def serialize(message: Any): MessageProtocol = { val builder = MessageProtocol.newBuilder - if (message.isInstanceOf[Serializable.SBinary[_]]) { - val serializable = message.asInstanceOf[Serializable.SBinary[_ <: Any]] - builder.setSerializationScheme(SerializationSchemeType.SBINARY) - builder.setMessage(ByteString.copyFrom(serializable.toBytes)) - builder.setMessageManifest(ByteString.copyFrom(serializable.getClass.getName.getBytes)) - } else if (message.isInstanceOf[Message]) { + if (message.isInstanceOf[Message]) { val serializable = message.asInstanceOf[Message] builder.setSerializationScheme(SerializationSchemeType.PROTOBUF) builder.setMessage(ByteString.copyFrom(serializable.toByteArray)) - builder.setMessageManifest(ByteString.copyFrom(SERIALIZER_JAVA.toBinary(serializable.getClass))) + builder.setMessageManifest(ByteString.copyFromUtf8(serializable.getClass.getName)) } else if (message.isInstanceOf[Serializable.ScalaJSON]) { - val serializable = message.asInstanceOf[Serializable.ScalaJSON] builder.setSerializationScheme(SerializationSchemeType.SCALA_JSON) - builder.setMessage(ByteString.copyFrom(serializable.toBytes)) - builder.setMessageManifest(ByteString.copyFrom(serializable.getClass.getName.getBytes)) + setMessageAndManifest(builder, message.asInstanceOf[Serializable.ScalaJSON]) + } else if (message.isInstanceOf[Serializable.SBinary[_]]) { + builder.setSerializationScheme(SerializationSchemeType.SBINARY) + setMessageAndManifest(builder, message.asInstanceOf[Serializable.SBinary[_ <: Any]]) } else if (message.isInstanceOf[Serializable.JavaJSON]) { - val serializable = message.asInstanceOf[Serializable.JavaJSON] builder.setSerializationScheme(SerializationSchemeType.JAVA_JSON) - builder.setMessage(ByteString.copyFrom(serializable.toBytes)) - builder.setMessageManifest(ByteString.copyFrom(serializable.getClass.getName.getBytes)) + setMessageAndManifest(builder, message.asInstanceOf[Serializable.JavaJSON]) } else { // default, e.g. if no protocol used explicitly then use Java serialization builder.setSerializationScheme(SerializationSchemeType.JAVA) @@ -75,28 +67,38 @@ object MessageSerializer { builder.build } + private def loadManifest(classLoader: Option[ClassLoader], messageProtocol: MessageProtocol): Class[_] = { + val manifest = messageProtocol.getMessageManifest.toStringUtf8 + if (classLoader.isDefined) classLoader.get.loadClass(manifest) + else Class.forName(manifest) + } + + private def setMessageAndManifest(builder: MessageProtocol.Builder, serializable: Serializable) = { + builder.setMessage(ByteString.copyFrom(serializable.toBytes)) + builder.setMessageManifest(ByteString.copyFromUtf8(serializable.getClass.getName)) + } + private def box(value: Any): AnyRef = value match { case value: Boolean => new java.lang.Boolean(value) - case value: Char => new java.lang.Character(value) - case value: Short => new java.lang.Short(value) - case value: Int => new java.lang.Integer(value) - case value: Long => new java.lang.Long(value) - case value: Float => new java.lang.Float(value) - case value: Double => new java.lang.Double(value) - case value: Byte => new java.lang.Byte(value) - case value => value.asInstanceOf[AnyRef] + case value: Char => new java.lang.Character(value) + case value: Short => new java.lang.Short(value) + case value: Int => new java.lang.Integer(value) + case value: Long => new java.lang.Long(value) + case value: Float => new java.lang.Float(value) + case value: Double => new java.lang.Double(value) + case value: Byte => new java.lang.Byte(value) + case value => value.asInstanceOf[AnyRef] } private def unbox(value: AnyRef): Any = value match { - case value: java.lang.Boolean => value.booleanValue + case value: java.lang.Boolean => value.booleanValue case value: java.lang.Character => value.charValue - case value: java.lang.Short => value.shortValue - case value: java.lang.Integer => value.intValue - case value: java.lang.Long => value.longValue - case value: java.lang.Float => value.floatValue - case value: java.lang.Double => value.doubleValue - case value: java.lang.Byte => value.byteValue - case value => value + case value: java.lang.Short => value.shortValue + case value: java.lang.Integer => value.intValue + case value: java.lang.Long => value.longValue + case value: java.lang.Float => value.floatValue + case value: java.lang.Double => value.doubleValue + case value: java.lang.Byte => value.byteValue + case value => value } - } diff --git a/akka-core/src/main/scala/routing/Iterators.scala b/akka-core/src/main/scala/routing/Iterators.scala index 9f7cb18ff8..64ea87551b 100644 --- a/akka-core/src/main/scala/routing/Iterators.scala +++ b/akka-core/src/main/scala/routing/Iterators.scala @@ -2,15 +2,17 @@ * Copyright (C) 2009-2010 Scalable Solutions AB */ -package se.scalablesolutions.akka.patterns +package se.scalablesolutions.akka.routing import se.scalablesolutions.akka.actor.ActorRef -/** An Iterator that is either always empty or yields an infinite number of Ts +/** + * An Iterator that is either always empty or yields an infinite number of Ts. */ trait InfiniteIterator[T] extends Iterator[T] -/** CyclicIterator is a round-robin style InfiniteIterator that cycles the supplied List +/** + * CyclicIterator is a round-robin style InfiniteIterator that cycles the supplied List. */ class CyclicIterator[T](items: List[T]) extends InfiniteIterator[T] { @volatile private[this] var current: List[T] = items @@ -37,5 +39,4 @@ class SmallestMailboxFirstIterator(items : List[ActorRef]) extends InfiniteItera def next = items.reduceLeft((a1, a2) => if (a1.mailboxSize < a2.mailboxSize) a1 else a2) override def exists(f: ActorRef => Boolean): Boolean = items.exists(f) - } diff --git a/akka-core/src/main/scala/routing/Listeners.scala b/akka-core/src/main/scala/routing/Listeners.scala index 7563e0800b..47ab2e442f 100644 --- a/akka-core/src/main/scala/routing/Listeners.scala +++ b/akka-core/src/main/scala/routing/Listeners.scala @@ -2,7 +2,7 @@ * Copyright (C) 2009-2010 Scalable Solutions AB */ -package se.scalablesolutions.akka.patterns +package se.scalablesolutions.akka.routing import se.scalablesolutions.akka.actor.{Actor, ActorRef} diff --git a/akka-core/src/main/scala/routing/Routers.scala b/akka-core/src/main/scala/routing/Routers.scala index 848527b078..7f2effee29 100644 --- a/akka-core/src/main/scala/routing/Routers.scala +++ b/akka-core/src/main/scala/routing/Routers.scala @@ -2,7 +2,7 @@ * Copyright (C) 2009-2010 Scalable Solutions AB */ -package se.scalablesolutions.akka.patterns +package se.scalablesolutions.akka.routing import se.scalablesolutions.akka.actor.{Actor, ActorRef} @@ -35,6 +35,5 @@ trait LoadBalancer extends Dispatcher { self: Actor => protected def routes = { case x if seq.hasNext => seq.next } - override def isDefinedAt(msg: Any) = seq.exists( _.isDefinedAt(msg) ) - + override def isDefinedAt(msg: Any) = seq.exists( _.isDefinedAt(msg) ) } diff --git a/akka-core/src/main/scala/routing/Patterns.scala b/akka-core/src/main/scala/routing/Routing.scala similarity index 68% rename from akka-core/src/main/scala/routing/Patterns.scala rename to akka-core/src/main/scala/routing/Routing.scala index 2c9670f6b3..c343afbda3 100644 --- a/akka-core/src/main/scala/routing/Patterns.scala +++ b/akka-core/src/main/scala/routing/Routing.scala @@ -2,16 +2,19 @@ * Copyright (C) 2009-2010 Scalable Solutions AB */ -package se.scalablesolutions.akka.patterns +package se.scalablesolutions.akka.routing import se.scalablesolutions.akka.actor.{Actor, ActorRef} import se.scalablesolutions.akka.actor.Actor._ -object Patterns { +object Routing { + type PF[A, B] = PartialFunction[A, B] - /** Creates a new PartialFunction whose isDefinedAt is a combination - * of the two parameters, and whose apply is first to call filter.apply and then filtered.apply + /** + * Creates a new PartialFunction whose isDefinedAt is a combination + * of the two parameters, and whose apply is first to call filter.apply + * and then filtered.apply. */ def filter[A, B](filter: PF[A, Unit], filtered: PF[A, B]): PF[A, B] = { case a: A if filtered.isDefinedAt(a) && filter.isDefinedAt(a) => @@ -19,19 +22,22 @@ object Patterns { filtered(a) } - /** Interceptor is a filter(x,y) where x.isDefinedAt is considered to be always true + /** + * Interceptor is a filter(x,y) where x.isDefinedAt is considered to be always true. */ def intercept[A, B](interceptor: (A) => Unit, interceptee: PF[A, B]): PF[A, B] = filter({case a if a.isInstanceOf[A] => interceptor(a)}, interceptee) - /** Creates a LoadBalancer from the thunk-supplied InfiniteIterator + /** + * Creates a LoadBalancer from the thunk-supplied InfiniteIterator. */ def loadBalancerActor(actors: => InfiniteIterator[ActorRef]): ActorRef = actorOf(new Actor with LoadBalancer { val seq = actors }).start - /** Creates a Dispatcher given a routing and a message-transforming function + /** + * Creates a Dispatcher given a routing and a message-transforming function. */ def dispatcherActor(routing: PF[Any, ActorRef], msgTransformer: (Any) => Any): ActorRef = actorOf(new Actor with Dispatcher { @@ -39,14 +45,16 @@ object Patterns { def routes = routing }).start - /** Creates a Dispatcher given a routing + /** + * Creates a Dispatcher given a routing. */ def dispatcherActor(routing: PF[Any, ActorRef]): ActorRef = actorOf(new Actor with Dispatcher { def routes = routing }).start - /** Creates an actor that pipes all incoming messages to - * both another actor and through the supplied function + /** + * Creates an actor that pipes all incoming messages to + * both another actor and through the supplied function */ def loggerActor(actorToLog: ActorRef, logger: (Any) => Unit): ActorRef = dispatcherActor({case _ => actorToLog}, logger) diff --git a/akka-core/src/test/java/se/scalablesolutions/akka/actor/ActiveObjectFailer.java b/akka-core/src/test/java/se/scalablesolutions/akka/actor/ActiveObjectFailer.java index 6e30a1a971..a95fe6c6c9 100644 --- a/akka-core/src/test/java/se/scalablesolutions/akka/actor/ActiveObjectFailer.java +++ b/akka-core/src/test/java/se/scalablesolutions/akka/actor/ActiveObjectFailer.java @@ -2,6 +2,6 @@ package se.scalablesolutions.akka.actor; public class ActiveObjectFailer implements java.io.Serializable { public int fail() { - throw new RuntimeException("expected"); + throw new RuntimeException("Expected exception; to test fault-tolerance"); } } diff --git a/akka-core/src/test/java/se/scalablesolutions/akka/actor/Foo.java b/akka-core/src/test/java/se/scalablesolutions/akka/actor/Foo.java index 4c1a80201d..85a963a6b8 100644 --- a/akka-core/src/test/java/se/scalablesolutions/akka/actor/Foo.java +++ b/akka-core/src/test/java/se/scalablesolutions/akka/actor/Foo.java @@ -23,7 +23,7 @@ public class Foo extends se.scalablesolutions.akka.serialization.Serializable.Ja return "test"; } public String throwsException() { - if (true) throw new RuntimeException("expected"); + if (true) throw new RuntimeException("Expected exception; to test fault-tolerance"); return "test"; } diff --git a/akka-core/src/test/scala/ActorObjectUtilFunctionsTest.scala b/akka-core/src/test/scala/ActorObjectUtilFunctionsSpec.scala similarity index 89% rename from akka-core/src/test/scala/ActorObjectUtilFunctionsTest.scala rename to akka-core/src/test/scala/ActorObjectUtilFunctionsSpec.scala index afc3197027..48424f3c17 100644 --- a/akka-core/src/test/scala/ActorObjectUtilFunctionsTest.scala +++ b/akka-core/src/test/scala/ActorObjectUtilFunctionsSpec.scala @@ -8,7 +8,7 @@ import org.junit.{Before, After, Test} import java.util.concurrent.{ CountDownLatch, TimeUnit } @RunWith(classOf[JUnitRunner]) -class ActorObjectUtilFunctionsTest extends junit.framework.TestCase with Suite with MustMatchers { +class ActorObjectUtilFunctionsSpec extends junit.framework.TestCase with Suite with MustMatchers { import Actor._ @Test def testSpawn = { val latch = new CountDownLatch(1) diff --git a/akka-core/src/test/scala/AgentSpec.scala b/akka-core/src/test/scala/AgentSpec.scala index acec2ccf89..859b409ad1 100644 --- a/akka-core/src/test/scala/AgentSpec.scala +++ b/akka-core/src/test/scala/AgentSpec.scala @@ -59,7 +59,9 @@ class AgentSpec extends junit.framework.TestCase with Suite with MustMatchers { agent.close tx.stop } - + +/* + // Strange test - do we really need it? @Test def testDoingAgentGetInEnlosingTransactionShouldYieldException = { case object Go val latch = new CountDownLatch(1) @@ -78,6 +80,7 @@ class AgentSpec extends junit.framework.TestCase with Suite with MustMatchers { tx.stop assert(true) } +*/ @Test def testAgentForeach = { val agent1 = Agent(3) diff --git a/akka-core/src/test/scala/ClientInitiatedRemoteActorSpec.scala b/akka-core/src/test/scala/ClientInitiatedRemoteActorSpec.scala index 18a1bed543..ea48d45252 100644 --- a/akka-core/src/test/scala/ClientInitiatedRemoteActorSpec.scala +++ b/akka-core/src/test/scala/ClientInitiatedRemoteActorSpec.scala @@ -29,7 +29,7 @@ class RemoteActorSpecActorBidirectional extends Actor { case "Hello" => self.reply("World") case "Failure" => - throw new RuntimeException("expected") + throw new RuntimeException("Expected exception; to test fault-tolerance") } } @@ -65,6 +65,8 @@ class ClientInitiatedRemoteActorSpec extends JUnitSuite { val PORT2 = 9991 var s1: RemoteServer = null + private val unit = TimeUnit.MILLISECONDS + @Before def init() { s1 = new RemoteServer() @@ -72,10 +74,6 @@ class ClientInitiatedRemoteActorSpec extends JUnitSuite { Thread.sleep(1000) } - private val unit = TimeUnit.MILLISECONDS - - // make sure the servers shutdown cleanly after the test has - // finished @After def finished() { s1.shutdown @@ -131,7 +129,7 @@ class ClientInitiatedRemoteActorSpec extends JUnitSuite { fail("Should have thrown an exception") } catch { case e => - assert("expected" === e.getMessage()) + assert("Expected exception; to test fault-tolerance" === e.getMessage()) } actor.stop } diff --git a/akka-core/src/test/scala/ExecutorBasedEventDrivenDispatcherActorSpec.scala b/akka-core/src/test/scala/ExecutorBasedEventDrivenDispatcherActorSpec.scala index e679bc6b4f..b25a02db5e 100644 --- a/akka-core/src/test/scala/ExecutorBasedEventDrivenDispatcherActorSpec.scala +++ b/akka-core/src/test/scala/ExecutorBasedEventDrivenDispatcherActorSpec.scala @@ -13,7 +13,7 @@ object ExecutorBasedEventDrivenDispatcherActorSpec { case "Hello" => self.reply("World") case "Failure" => - throw new RuntimeException("expected") + throw new RuntimeException("Expected exception; to test fault-tolerance") } } @@ -60,7 +60,7 @@ class ExecutorBasedEventDrivenDispatcherActorSpec extends JUnitSuite { fail("Should have thrown an exception") } catch { case e => - assert("expected" === e.getMessage()) + assert("Expected exception; to test fault-tolerance" === e.getMessage()) } actor.stop } diff --git a/akka-core/src/test/scala/FutureSpec.scala b/akka-core/src/test/scala/FutureSpec.scala index e3436ef53b..39fc563007 100644 --- a/akka-core/src/test/scala/FutureSpec.scala +++ b/akka-core/src/test/scala/FutureSpec.scala @@ -12,7 +12,7 @@ object FutureSpec { self.reply("World") case "NoReply" => {} case "Failure" => - throw new RuntimeException("expected") + throw new RuntimeException("Expected exception; to test fault-tolerance") } } } @@ -36,7 +36,7 @@ class FutureSpec extends JUnitSuite { val future = actor !!! "Failure" future.await assert(future.exception.isDefined) - assert("expected" === future.exception.get._2.getMessage) + assert("Expected exception; to test fault-tolerance" === future.exception.get._2.getMessage) actor.stop } diff --git a/akka-core/src/test/scala/ReactorBasedSingleThreadEventDrivenDispatcherActorSpec.scala b/akka-core/src/test/scala/ReactorBasedSingleThreadEventDrivenDispatcherActorSpec.scala index 996c410977..a84cdfc8e5 100644 --- a/akka-core/src/test/scala/ReactorBasedSingleThreadEventDrivenDispatcherActorSpec.scala +++ b/akka-core/src/test/scala/ReactorBasedSingleThreadEventDrivenDispatcherActorSpec.scala @@ -15,7 +15,7 @@ object ReactorBasedSingleThreadEventDrivenDispatcherActorSpec { case "Hello" => self.reply("World") case "Failure" => - throw new RuntimeException("expected") + throw new RuntimeException("Expected exception; to test fault-tolerance") } } @@ -63,7 +63,7 @@ class ReactorBasedSingleThreadEventDrivenDispatcherActorSpec extends JUnitSuite fail("Should have thrown an exception") } catch { case e => - assert("expected" === e.getMessage()) + assert("Expected exception; to test fault-tolerance" === e.getMessage()) } actor.stop } diff --git a/akka-core/src/test/scala/ReactorBasedThreadPoolEventDrivenDispatcherActorSpec.scala b/akka-core/src/test/scala/ReactorBasedThreadPoolEventDrivenDispatcherActorSpec.scala index b94a02a6fc..f917b462b5 100644 --- a/akka-core/src/test/scala/ReactorBasedThreadPoolEventDrivenDispatcherActorSpec.scala +++ b/akka-core/src/test/scala/ReactorBasedThreadPoolEventDrivenDispatcherActorSpec.scala @@ -14,7 +14,7 @@ object ReactorBasedThreadPoolEventDrivenDispatcherActorSpec { case "Hello" => self.reply("World") case "Failure" => - throw new RuntimeException("expected") + throw new RuntimeException("Expected exception; to test fault-tolerance") } } } @@ -58,7 +58,7 @@ class ReactorBasedThreadPoolEventDrivenDispatcherActorSpec extends JUnitSuite { fail("Should have thrown an exception") } catch { case e => - assert("expected" === e.getMessage()) + assert("Expected exception; to test fault-tolerance" === e.getMessage()) } actor.stop } diff --git a/akka-core/src/test/scala/RemoteSupervisorSpec.scala b/akka-core/src/test/scala/RemoteSupervisorSpec.scala index d5503b2a7a..4a5ad1a5ef 100644 --- a/akka-core/src/test/scala/RemoteSupervisorSpec.scala +++ b/akka-core/src/test/scala/RemoteSupervisorSpec.scala @@ -8,13 +8,14 @@ import java.util.concurrent.{LinkedBlockingQueue, TimeUnit, BlockingQueue} import se.scalablesolutions.akka.serialization.BinaryString import se.scalablesolutions.akka.config.ScalaConfig._ import se.scalablesolutions.akka.config.Config -import se.scalablesolutions.akka.remote.{RemoteNode, RemoteServer} +import se.scalablesolutions.akka.remote.{RemoteNode, RemoteServer, RemoteClient} import se.scalablesolutions.akka.OneWay import se.scalablesolutions.akka.dispatch.Dispatchers import Actor._ import org.scalatest.junit.JUnitSuite import org.junit.Test +import org.junit.{Test, Before, After} object Log { val messageLog: BlockingQueue[String] = new LinkedBlockingQueue[String] @@ -36,7 +37,7 @@ object Log { Log.oneWayLog.put("oneway") case BinaryString("Die") => - throw new RuntimeException("DIE") + throw new RuntimeException("Expected exception; to test fault-tolerance") } override def postRestart(reason: Throwable) { @@ -50,7 +51,7 @@ object Log { Log.messageLog.put("ping") self.reply("pong") case BinaryString("Die") => - throw new RuntimeException("DIE") + throw new RuntimeException("Expected exception; to test fault-tolerance") } override def postRestart(reason: Throwable) { @@ -64,7 +65,7 @@ object Log { Log.messageLog.put("ping") self.reply("pong") case BinaryString("Die") => - throw new RuntimeException("DIE") + throw new RuntimeException("Expected exception; to test fault-tolerance") } override def postRestart(reason: Throwable) { @@ -74,7 +75,7 @@ object Log { object RemoteSupervisorSpec { val HOSTNAME = "localhost" - val PORT = 9988 + val PORT = 9990 var server: RemoteServer = null } @@ -83,17 +84,31 @@ object RemoteSupervisorSpec { */ class RemoteSupervisorSpec extends JUnitSuite { import RemoteSupervisorSpec._ - Config.config - - server = new RemoteServer() - server.start(HOSTNAME, PORT) - + var pingpong1: ActorRef = _ var pingpong2: ActorRef = _ var pingpong3: ActorRef = _ import Log._ + @Before + def init { + server = new RemoteServer() + server.start(HOSTNAME, PORT) + Thread.sleep(1000) + } + + @After + def finished { + try { + server.shutdown + RemoteClient.shutdownAll + Thread.sleep(1000) + } catch { + case e => () + } + } + @Test def shouldStartServer = { Log.messageLog.clear val sup = getSingleActorAllForOneSupervisor @@ -120,7 +135,7 @@ class RemoteSupervisorSpec extends JUnitSuite { pingpong1 !! (BinaryString("Die"), 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } } @@ -140,7 +155,7 @@ class RemoteSupervisorSpec extends JUnitSuite { pingpong1 !! (BinaryString("Die"), 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } expect("pong") { @@ -160,7 +175,7 @@ class RemoteSupervisorSpec extends JUnitSuite { pingpong1 !! (BinaryString("Die"), 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } } @@ -180,7 +195,7 @@ class RemoteSupervisorSpec extends JUnitSuite { pingpong1 !! (BinaryString("Die"), 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } expect("pong") { @@ -200,7 +215,7 @@ class RemoteSupervisorSpec extends JUnitSuite { pingpong1 !! (BinaryString("Die"), 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } } @@ -215,7 +230,7 @@ class RemoteSupervisorSpec extends JUnitSuite { pingpong3 !! (BinaryString("Die"), 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } } @@ -249,7 +264,7 @@ class RemoteSupervisorSpec extends JUnitSuite { pingpong2 !! (BinaryString("Die"), 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } expect("pong") { @@ -283,13 +298,13 @@ class RemoteSupervisorSpec extends JUnitSuite { pingpong2 !! (BinaryString("Die"), 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } } @@ -323,13 +338,13 @@ class RemoteSupervisorSpec extends JUnitSuite { pingpong2 !! (BinaryString("Die"), 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } expect("pong") { @@ -363,7 +378,7 @@ class RemoteSupervisorSpec extends JUnitSuite { pingpong1 ! BinaryString("Die") - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } } @@ -379,7 +394,7 @@ class RemoteSupervisorSpec extends JUnitSuite { } pingpong1 ! BinaryString("Die") - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } pingpong1 ! OneWay @@ -419,13 +434,13 @@ class RemoteSupervisorSpec extends JUnitSuite { pingpong2 !! (BinaryString("Die"), 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5 , TimeUnit.SECONDS) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } expect("pong") { diff --git a/akka-core/src/test/scala/RemoteTransactionalActiveObjectSpec.scala b/akka-core/src/test/scala/RemoteTransactionalActiveObjectSpec.scala index ac4f41feb3..2ba9d08296 100644 --- a/akka-core/src/test/scala/RemoteTransactionalActiveObjectSpec.scala +++ b/akka-core/src/test/scala/RemoteTransactionalActiveObjectSpec.scala @@ -10,10 +10,11 @@ import org.scalatest.matchers.ShouldMatchers import org.scalatest.BeforeAndAfterAll import org.scalatest.junit.JUnitRunner import org.junit.runner.RunWith +import org.junit.{Test, Before, After} import se.scalablesolutions.akka.config.Config import se.scalablesolutions.akka.config.ActiveObjectConfigurator -import se.scalablesolutions.akka.remote.{RemoteNode, RemoteServer} +import se.scalablesolutions.akka.remote.{RemoteNode, RemoteServer, RemoteClient} object RemoteTransactionalActiveObjectSpec { val HOSTNAME = "localhost" @@ -30,13 +31,25 @@ class RemoteTransactionalActiveObjectSpec extends import RemoteTransactionalActiveObjectSpec._ Config.config - server = new RemoteServer() - server.start(HOSTNAME, PORT) - private val conf = new ActiveObjectConfigurator private var messageLog = "" - override def afterAll = conf.stop + override def beforeAll = { + server = new RemoteServer() + server.start(HOSTNAME, PORT) + Thread.sleep(1000) + } + + override def afterAll = { + conf.stop + try { + server.shutdown + RemoteClient.shutdownAll + Thread.sleep(1000) + } catch { + case e => () + } + } describe("Remote transactional in-memory Active Object ") { diff --git a/akka-core/src/test/scala/ActorPatternsTest.scala b/akka-core/src/test/scala/RoutingSpec.scala similarity index 91% rename from akka-core/src/test/scala/ActorPatternsTest.scala rename to akka-core/src/test/scala/RoutingSpec.scala index 2227049791..52c37215ec 100644 --- a/akka-core/src/test/scala/ActorPatternsTest.scala +++ b/akka-core/src/test/scala/RoutingSpec.scala @@ -1,4 +1,4 @@ -package se.scalablesolutions.akka.patterns +package se.scalablesolutions.akka.routing import se.scalablesolutions.akka.config.ScalaConfig._ import se.scalablesolutions.akka.actor.Actor @@ -17,8 +17,9 @@ import java.util.concurrent.atomic.AtomicInteger import java.util.concurrent.{CountDownLatch, TimeUnit} @RunWith(classOf[JUnitRunner]) -class ActorPatternsTest extends junit.framework.TestCase with Suite with MustMatchers with Logging { - import Patterns._ +class RoutingSpec extends junit.framework.TestCase with Suite with MustMatchers with Logging { + import Routing._ + @Test def testDispatcher = { val (testMsg1,testMsg2,testMsg3,testMsg4) = ("test1","test2","test3","test4") val targetOk = new AtomicInteger(0) @@ -41,13 +42,15 @@ class ActorPatternsTest extends junit.framework.TestCase with Suite with MustMat }.start val result = for { - a <- (d !! (testMsg1,5000)).as[Int] - b <- (d !! (testMsg2,5000)).as[Int] - c <- (d !! (testMsg3,5000)).as[Int] + a <- (d !! (testMsg1, 5000)).as[Int] + b <- (d !! (testMsg2, 5000)).as[Int] + c <- (d !! (testMsg3, 5000)).as[Int] } yield a + b + c + result.isDefined must be (true) result.get must be(21) - for(a <- List(t1,t2,d)) a.stop + + for(a <- List(t1,t2,d)) a.stop } @Test def testLogger = { @@ -60,6 +63,7 @@ class ActorPatternsTest extends junit.framework.TestCase with Suite with MustMat val bar : Any = "bar" l ! foo l ! bar + Thread.sleep(100) msgs must ( have size (2) and contain (foo) and contain (bar) ) t1.stop l.stop @@ -79,7 +83,7 @@ class ActorPatternsTest extends junit.framework.TestCase with Suite with MustMat } val d = loadBalancerActor(new SmallestMailboxFirstIterator(t1 :: t2 :: Nil)) for (i <- 1 to 500) d ! i - Thread.sleep(6000) + Thread.sleep(5000) t1ProcessedCount.get must be < (t2ProcessedCount.get) // because t1 is much slower and thus has a bigger mailbox all the time for(a <- List(t1,t2,d)) a.stop } @@ -161,8 +165,7 @@ class ActorPatternsTest extends junit.framework.TestCase with Suite with MustMat d1.isDefinedAt(testMsg3) must be (false) d2.isDefinedAt(testMsg1) must be (true) d2.isDefinedAt(testMsg3) must be (false) - + for(a <- List(t1,t2,d1,d2)) a.stop } - } diff --git a/akka-core/src/test/scala/SerializableActorSpec.scala b/akka-core/src/test/scala/SerializableActorSpec.scala index 60ee89d2ce..d24e82cf98 100644 --- a/akka-core/src/test/scala/SerializableActorSpec.scala +++ b/akka-core/src/test/scala/SerializableActorSpec.scala @@ -104,7 +104,7 @@ class ProtobufSerializableTestActor extends ProtobufSerializableActor[ProtobufPr class StatelessSerializableTestActorWithMessagesInMailbox extends StatelessSerializableActor { def receive = { case "hello" => - println("# messages in mailbox " + self.mailbox.size) + if (self ne null) println("# messages in mailbox " + self.mailbox.size) Thread.sleep(500) case "hello-reply" => self.reply("world") } diff --git a/akka-core/src/test/scala/ServerInitiatedRemoteActorSpec.scala b/akka-core/src/test/scala/ServerInitiatedRemoteActorSpec.scala index 328b8b70b6..51685a0073 100644 --- a/akka-core/src/test/scala/ServerInitiatedRemoteActorSpec.scala +++ b/akka-core/src/test/scala/ServerInitiatedRemoteActorSpec.scala @@ -32,7 +32,7 @@ object ServerInitiatedRemoteActorSpec { case "Hello" => self.reply("World") case "Failure" => - throw new RuntimeException("expected") + throw new RuntimeException("Expected exception; to test fault-tolerance") } } @@ -130,7 +130,7 @@ class ServerInitiatedRemoteActorSpec extends JUnitSuite { fail("Should have thrown an exception") } catch { case e => - assert("expected" === e.getMessage()) + assert("Expected exception; to test fault-tolerance" === e.getMessage()) } actor.stop } diff --git a/akka-core/src/test/scala/SupervisorSpec.scala b/akka-core/src/test/scala/SupervisorSpec.scala index 0e07140182..98025e8139 100644 --- a/akka-core/src/test/scala/SupervisorSpec.scala +++ b/akka-core/src/test/scala/SupervisorSpec.scala @@ -36,7 +36,7 @@ object SupervisorSpec { case Die => println("******************** GOT DIE 1") - throw new RuntimeException("DIE") + throw new RuntimeException("Expected exception; to test fault-tolerance") } override def postRestart(reason: Throwable) { println("******************** restart 1") @@ -52,7 +52,7 @@ object SupervisorSpec { reply("pong") case Die => println("******************** GOT DIE 2") - throw new RuntimeException("DIE") + throw new RuntimeException("Expected exception; to test fault-tolerance") } override def postRestart(reason: Throwable) { println("******************** restart 2") @@ -68,7 +68,7 @@ object SupervisorSpec { reply("pong") case Die => println("******************** GOT DIE 3") - throw new RuntimeException("DIE") + throw new RuntimeException("Expected exception; to test fault-tolerance") } override def postRestart(reason: Throwable) { @@ -86,7 +86,7 @@ object SupervisorSpec { reply("pong") case Die => println("******************** GOT DIE 3") - throw new RuntimeException("DIE") + throw new RuntimeException("Expected exception; to test fault-tolerance") } override def postRestart(reason: Throwable) { @@ -169,7 +169,7 @@ class SupervisorSpec extends JUnitSuite { pingpong1 !! (Die, 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } } @@ -189,7 +189,7 @@ class SupervisorSpec extends JUnitSuite { pingpong1 !! (Die, 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } expect("pong") { @@ -209,7 +209,7 @@ class SupervisorSpec extends JUnitSuite { pingpong1 !! (Die, 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } } @@ -229,7 +229,7 @@ class SupervisorSpec extends JUnitSuite { pingpong1 !! (Die, 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } expect("pong") { @@ -249,7 +249,7 @@ class SupervisorSpec extends JUnitSuite { pingpong1 !! (Die, 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } } @@ -262,7 +262,7 @@ class SupervisorSpec extends JUnitSuite { pingpong3 !! (Die, 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } } @@ -296,7 +296,7 @@ class SupervisorSpec extends JUnitSuite { pingpong2 !! (Die, 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } expect("pong") { @@ -330,13 +330,13 @@ class SupervisorSpec extends JUnitSuite { pingpong2 !! (Die, 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } } @@ -370,13 +370,13 @@ class SupervisorSpec extends JUnitSuite { pingpong2 !! (Die, 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } expect("pong") { @@ -408,7 +408,7 @@ class SupervisorSpec extends JUnitSuite { pingpong1 ! Die - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } } @@ -424,7 +424,7 @@ class SupervisorSpec extends JUnitSuite { } pingpong1 ! Die - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } pingpong1 ! OneWay @@ -464,13 +464,13 @@ class SupervisorSpec extends JUnitSuite { pingpong2 !! (Die, 5000) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5 , TimeUnit.SECONDS) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } - expect("DIE") { + expect("Expected exception; to test fault-tolerance") { messageLog.poll(5, TimeUnit.SECONDS) } expect("pong") { diff --git a/akka-core/src/test/scala/TestClasses.bak b/akka-core/src/test/scala/TestClasses.bak index 673cf6e4ac..5a0ec08c19 100644 --- a/akka-core/src/test/scala/TestClasses.bak +++ b/akka-core/src/test/scala/TestClasses.bak @@ -41,13 +41,13 @@ class Foo extends Serializable.JavaJSON { "test" } def throwsException: String = { - if (true) throw new RuntimeException("expected") + if (true) throw new RuntimeException("Expected exception; to test fault-tolerance") "test" } } @serializable class InMemFailer { - def fail = throw new RuntimeException("expected") + def fail = throw new RuntimeException("Expected exception; to test fault-tolerance") } @transactionrequired diff --git a/akka-core/src/test/scala/ThreadBasedActorSpec.scala b/akka-core/src/test/scala/ThreadBasedActorSpec.scala index eda6f4d52c..fc726ecf49 100644 --- a/akka-core/src/test/scala/ThreadBasedActorSpec.scala +++ b/akka-core/src/test/scala/ThreadBasedActorSpec.scala @@ -15,7 +15,7 @@ object ThreadBasedActorSpec { case "Hello" => self.reply("World") case "Failure" => - throw new RuntimeException("expected") + throw new RuntimeException("Expected exception; to test fault-tolerance") } } } @@ -59,7 +59,7 @@ class ThreadBasedActorSpec extends JUnitSuite { fail("Should have thrown an exception") } catch { case e => - assert("expected" === e.getMessage()) + assert("Expected exception; to test fault-tolerance" === e.getMessage()) } actor.stop } diff --git a/akka-core/src/test/scala/TransactorSpec.scala b/akka-core/src/test/scala/TransactorSpec.scala index 213863b377..872b160fb1 100644 --- a/akka-core/src/test/scala/TransactorSpec.scala +++ b/akka-core/src/test/scala/TransactorSpec.scala @@ -105,7 +105,7 @@ class FailerTransactor extends Transactor { def receive = { case "Failure" => - throw new RuntimeException("expected") + throw new RuntimeException("Expected exception; to test fault-tolerance") } } diff --git a/akka-persistence/akka-persistence-cassandra/src/test/scala/CassandraPersistentActorSpec.scala b/akka-persistence/akka-persistence-cassandra/src/test/scala/CassandraPersistentActorSpec.scala index 74673f2041..c94fdee815 100644 --- a/akka-persistence/akka-persistence-cassandra/src/test/scala/CassandraPersistentActorSpec.scala +++ b/akka-persistence/akka-persistence-cassandra/src/test/scala/CassandraPersistentActorSpec.scala @@ -65,7 +65,7 @@ class CassandraPersistentActor extends Transactor { @serializable class PersistentFailerActor extends Transactor { def receive = { case "Failure" => - throw new RuntimeException("expected") + throw new RuntimeException("Expected exception; to test fault-tolerance") } } diff --git a/akka-persistence/akka-persistence-mongo/src/test/scala/MongoPersistentActorSpec.scala b/akka-persistence/akka-persistence-mongo/src/test/scala/MongoPersistentActorSpec.scala index feef86d6a4..1acc9ee97d 100644 --- a/akka-persistence/akka-persistence-mongo/src/test/scala/MongoPersistentActorSpec.scala +++ b/akka-persistence/akka-persistence-mongo/src/test/scala/MongoPersistentActorSpec.scala @@ -98,7 +98,7 @@ class BankAccountActor extends Transactor { @serializable class PersistentFailerActor extends Transactor { def receive = { case "Failure" => - throw new RuntimeException("expected") + throw new RuntimeException("Expected exception; to test fault-tolerance") } } diff --git a/akka-persistence/akka-persistence-redis/src/test/scala/RedisPersistentActorSpec.scala b/akka-persistence/akka-persistence-redis/src/test/scala/RedisPersistentActorSpec.scala index 236519abd8..2856d9f7f8 100644 --- a/akka-persistence/akka-persistence-redis/src/test/scala/RedisPersistentActorSpec.scala +++ b/akka-persistence/akka-persistence-redis/src/test/scala/RedisPersistentActorSpec.scala @@ -92,7 +92,7 @@ class AccountActor extends Transactor { // timeout = 5000 def receive = { case "Failure" => - throw new RuntimeException("expected") + throw new RuntimeException("Expected exception; to test fault-tolerance") } } diff --git a/embedded-repo/org/codehaus/aspectwerkz/aspectwerkz-jdk5/2.2.1/aspectwerkz-jdk5-2.2.1.jar b/embedded-repo/org/codehaus/aspectwerkz/aspectwerkz-jdk5/2.2.1/aspectwerkz-jdk5-2.2.1.jar new file mode 100644 index 0000000000..650e5bb8f1 Binary files /dev/null and b/embedded-repo/org/codehaus/aspectwerkz/aspectwerkz-jdk5/2.2.1/aspectwerkz-jdk5-2.2.1.jar differ diff --git a/embedded-repo/org/codehaus/aspectwerkz/aspectwerkz-jdk5/2.2.1/aspectwerkz-jdk5-2.2.1.pom b/embedded-repo/org/codehaus/aspectwerkz/aspectwerkz-jdk5/2.2.1/aspectwerkz-jdk5-2.2.1.pom new file mode 100755 index 0000000000..8b209f3c38 --- /dev/null +++ b/embedded-repo/org/codehaus/aspectwerkz/aspectwerkz-jdk5/2.2.1/aspectwerkz-jdk5-2.2.1.pom @@ -0,0 +1,8 @@ + + + 4.0.0 + org.codehaus.aspectwerkz + aspectwerkz-jdk5 + 2.2.1 + jar + \ No newline at end of file diff --git a/embedded-repo/org/codehaus/aspectwerkz/aspectwerkz-nodeps-jdk5/2.2.1/aspectwerkz-nodeps-jdk5-2.2.1.jar b/embedded-repo/org/codehaus/aspectwerkz/aspectwerkz-nodeps-jdk5/2.2.1/aspectwerkz-nodeps-jdk5-2.2.1.jar new file mode 100644 index 0000000000..f9fbaa6905 Binary files /dev/null and b/embedded-repo/org/codehaus/aspectwerkz/aspectwerkz-nodeps-jdk5/2.2.1/aspectwerkz-nodeps-jdk5-2.2.1.jar differ diff --git a/embedded-repo/org/codehaus/aspectwerkz/aspectwerkz-nodeps-jdk5/2.2.1/aspectwerkz-nodeps-jdk5-2.2.1.pom b/embedded-repo/org/codehaus/aspectwerkz/aspectwerkz-nodeps-jdk5/2.2.1/aspectwerkz-nodeps-jdk5-2.2.1.pom new file mode 100644 index 0000000000..c901453ec8 --- /dev/null +++ b/embedded-repo/org/codehaus/aspectwerkz/aspectwerkz-nodeps-jdk5/2.2.1/aspectwerkz-nodeps-jdk5-2.2.1.pom @@ -0,0 +1,8 @@ + + + 4.0.0 + org.codehaus.aspectwerkz + aspectwerkz-nodeps-jdk5 + 2.2.1 + jar + \ No newline at end of file diff --git a/project/build/AkkaProject.scala b/project/build/AkkaProject.scala index f7888d5000..401c5397a3 100644 --- a/project/build/AkkaProject.scala +++ b/project/build/AkkaProject.scala @@ -187,8 +187,8 @@ class AkkaParent(info: ProjectInfo) extends DefaultProject(info) { val h2_lzf = "voldemort.store.compress" % "h2-lzf" % "1.0" % "compile" val jsr166x = "jsr166x" % "jsr166x" % "1.0" % "compile" val jta_1_1 = "org.apache.geronimo.specs" % "geronimo-jta_1.1_spec" % "1.1.1" % "compile" intransitive() - val werkz = "org.codehaus.aspectwerkz" % "aspectwerkz-nodeps-jdk5" % "2.2" % "compile" - val werkz_core = "org.codehaus.aspectwerkz" % "aspectwerkz-jdk5" % "2.2" % "compile" + val werkz = "org.codehaus.aspectwerkz" % "aspectwerkz-nodeps-jdk5" % "2.2.1" % "compile" + val werkz_core = "org.codehaus.aspectwerkz" % "aspectwerkz-jdk5" % "2.2.1" % "compile" val configgy = "net.lag" % "configgy" % "2.8.0.RC3-1.5.2-SNAPSHOT" % "compile" val guicey = "org.guiceyfruit" % "guice-all" % "2.0" % "compile" val aopalliance = "aopalliance" % "aopalliance" % "1.0" % "compile"