I am trying to set up an akka Cluster that includes a ClusterSingleton, 
ClusterSingletonManager and ClusterSingletonProxy which in turn seems to 
necessitate using a ClusterClient, ClusterReceptionist and 
DistributedPubSubMediator.

I am more or less following the typesafe activator code, but it is 
out-of-date (uses the old contrib code), so I've made modifications to 
match the 2.4 RC3 API.

I am working through the complexity of this, and have made progress, but I 
am finding that the cluster client is sending messages to the 
ClusterReceptionist that are never being received.  

My current guess is that it has something to do with the fact that my 
ActorSystems seem to have a root path of akka://ClusterSystem whereas the 
actors are created with paths that look like 
akka.tcp://[email protected]:8888.

For instance, here you can see that the ClusterSingletonManager creates the 
master with an akka://SomeSystem path:

INFO  - Singleton manager starting singleton actor 
[akka://ClusterSystem/user/master/singleton]
INFO  - ClusterSingletonManager state change [Start -> Oldest]
DEBUG - Trying to identify singleton at 
[akka.tcp://[email protected]:8888/user/master/singleton]
INFO  - Singleton identified at [akka://ClusterSystem/user/master/singleton]
DEBUG - Sending buffered messages to current singleton instance

As for the ClusterClient talking to the ClusterReceptionist,  the client is 
instantiated with an initial contact of 
Set(akka.tcp://[email protected]:8888/user/receptionist).  

However, the actors that are created by virtue of including the extensions 
are created in akka://ClusterSystem 

extensions = [
  "akka.cluster.pubsub.DistributedPubSub",
  "akka.cluster.client.ClusterClientReceptionist"
]


I tried using akka://ClusterSystem/user/receptionist as the initial contact 
path, but then I get:


ERROR - No transport is loaded for protocol: [akka], available protocols: 
[akka.tcp]

akka.actor.ActorInitializationException: exception during creation



relevant config below:


clusterSystem {
  akka {
    actor.provider = "akka.cluster.ClusterActorRefProvider"

    extensions = [
      "akka.cluster.pubsub.DistributedPubSub",
      "akka.cluster.client.ClusterClientReceptionist"
    ]

    remote {
      enabled-transports = ["akka.remote.netty.tcp"]
      netty.tcp {
        hostname = "127.0.0.1"
        port = 8888
      }
    }

    cluster {
      singleton {
        singleton-name = "singleton"
        role = ""
        hand-over-retry-interval = 60s
      }
      singleton-proxy {
        singleton-name = "singleton"
        role = ""
        singleton-identification-interval = 60s
        buffer-size = 1000
      }
      client {
        *#this gets assigned programmatically*
        initial-contacts = []

        *#..default stuff here*

        receptionist {
          # Actor name of the ClusterReceptionist actor, /system/receptionist
          name = receptionist

          # Start the receptionist on members tagged with this role.
          # All members are used if undefined or empty.
          role = ""

          # The receptionist will send this number of contact points to the 
client
          number-of-contacts = 1

          # The actor that tunnel response messages to the client will be 
stopped
          # after this time of inactivity.
          response-tunnel-receive-timeout = 30s

          # The id of the dispatcher to use for ClusterReceptionist actors.
          # If not specified default dispatcher is used.
          # If specified you need to define the settings of the actual 
dispatcher.
          use-dispatcher = ""
        }
      }
    }
  }
}

workerSystem {
  akka {
    remote {
      enabled-transports = ["akka.remote.netty.tcp"]
      netty.tcp {
        hostname = "127.0.0.1"
        port = 9999
      }
    }
  }
}


Hoping someone can see what I'm doing wrong... Thanks!

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to