diff --git a/akka-cluster/pom.xml b/akka-cluster/pom.xml
index c0ed52b231..f18c02f1dc 100644
--- a/akka-cluster/pom.xml
+++ b/akka-cluster/pom.xml
@@ -15,8 +15,8 @@
akka-cluster-jgroups
- akka-cluster-tribes
- akka-cluster-shoal
+
diff --git a/akka-core/src/main/scala/remote/Cluster.scala b/akka-core/src/main/scala/remote/Cluster.scala
index ca2031e052..61e42d4695 100644
--- a/akka-core/src/main/scala/remote/Cluster.scala
+++ b/akka-core/src/main/scala/remote/Cluster.scala
@@ -6,10 +6,9 @@ package se.scalablesolutions.akka.remote
import se.scalablesolutions.akka.Config.config
import se.scalablesolutions.akka.config.ScalaConfig._
-import se.scalablesolutions.akka.remote.Cluster.{Node, RelayedMessage}
import se.scalablesolutions.akka.serialization.Serializer
import se.scalablesolutions.akka.actor.{Supervisor, SupervisorFactory, Actor, ActorRegistry}
-
+import se.scalablesolutions.akka.util.Logging
import scala.collection.immutable.{Map, HashMap}
/**
@@ -41,18 +40,23 @@ abstract class ClusterActor extends Actor with Cluster {
*
* Loads a specified ClusterActor and delegates to that instance.
*/
-object Cluster extends Cluster {
+object Cluster extends Cluster with Logging {
private[remote] sealed trait ClusterMessage
private[remote] case class Node(endpoints: List[RemoteAddress]) extends ClusterMessage
private[remote] case class RelayedMessage(actorClassFQN: String, msg: AnyRef) extends ClusterMessage
- private[remote] val clusterActor: Option[ClusterActor] =
- config.getString("akka.remote.cluster.actor") map { name =>
- val a = Class.forName(name).newInstance.asInstanceOf[ClusterActor]
- a.start
- a
- }
-
+ private[remote] val clusterActor: Option[ClusterActor] = {
+ val name = config.getString("akka.remote.cluster.actor","not defined")
+ try {
+ val a = Class.forName(name).newInstance.asInstanceOf[ClusterActor]
+ a.start
+ Some(a)
+ }
+ catch {
+ case e => log.error(e,"Couldn't load Cluster provider: [%s]",name)
+ None
+ }
+ }
private[remote] val supervisor: Option[Supervisor] = if (clusterActor.isDefined) {
val sup = SupervisorFactory(
diff --git a/config/akka-reference.conf b/config/akka-reference.conf
index 246f2d1954..2120d2b93c 100644
--- a/config/akka-reference.conf
+++ b/config/akka-reference.conf
@@ -48,7 +48,7 @@
name = "default" # The name of the cluster
- #actor = "se.scalablesolutions.akka.remote.JGroupsClusterActor" # FQN of an implementation of ClusterActor
+ actor = "se.scalablesolutions.akka.remote.JGroupsClusterActor" # FQN of an implementation of ClusterActor
serializer = "se.scalablesolutions.akka.serialization.Serializer$Java" # FQN of the serializer class
diff --git a/pom.xml b/pom.xml
index aa3201ffbe..6186abb2e1 100755
--- a/pom.xml
+++ b/pom.xml
@@ -50,9 +50,9 @@
akka-util-java
akka-util
+ akka-cluster
akka-core
akka-persistence
- akka-cluster
akka-rest
akka-comet
akka-amqp