Re: [akka-user] Re: Send message from netty code to actor system

2015-02-07 Thread Jabbar Azam
Hello Muthukumaran,

I'm not actually using nettty but cloudhopper-smpp. It uses netty. I 
couldn't work out how to integrate cloudhopper-smpp with Akka and hence I 
was 
looking at netty to understand ways of integrating cloudhopper-smpp to 
netty. 

I'm wrapping each SmppSession inside it's own actor.

On Friday, 6 February 2015 10:54:37 UTC, Muthukumaran Kothandaraman wrote:

 Few things to take care of using a router at InboundHandler

 - ensuring that routees are available before the connections are being 
 accepted 
 - ensuring that ChannelContextHandler - passed in message, is not stored 
 by routee actor internally for any purposes. This should be sufficient for 
 pure req/reply pattern

 Regards
 Muthu


 On Thursday, 5 February 2015 03:39:18 UTC+5:30, Jabbar Azam wrote:

 After alot of head scratching I came to same conclusions as you. It's 
 good to see somebody else having the same ideas.

 On Wednesday, 4 February 2015 21:06:11 UTC, Ngoc Dao wrote:

 Generally there are 2 ways to design for this problem:

 Once you have an actor reference, you can send things to it. So you can 
 simply do this:
 targetActorRef ! myThing

 When the actor is done with the processing, it will call:
 myThing.myMethod

 This design is OK when the target actor is very reliable and it lies in 
 the same node with myThing.

 Another way, is to use an actor to wrap around myThing. This wrapper 
 actor will communicate with targetActorRef. It may watch targetActorRef to 
 handle the case when targetActorRef dies, targetActorRef doesn't respond 
 after some timeout etc.


 On Wednesday, February 4, 2015 at 10:09:19 PM UTC+9, Jabbar Azam wrote:

 I found some nice example showing integration of netty with akka on 
 github. This is what I'm looking at https://github.com/gibffe/fuse 
 specifically 
 https://github.com/gibffe/fuse/blob/master/src/main/java/com/sulaco/fuse/netty/FuseChannelHandler.java

 Its embarrassingly simple :)

 On Tuesday, 3 February 2015 13:48:47 UTC, Jabbar Azam wrote:

 Oops I meant channel handler.

 On Tuesday, 3 February 2015 13:32:21 UTC, Jabbar Azam wrote:

 Hello,

 Sorry for the late reply. For some reason the forum messages didn't 
 get forwarded to my email.

 I was thinking of using typedactors because I am trying to integrate 
 non actor code(cloudhopper SMPP which uses netty) into an actor system. 
 Netty does use callbacks so I can use asynchronous behaviour.

 Do you think I could encapsulate a netty channel inside an actor? A 
 netty channel can call callbacks whenever something changes in the 
 channel.

 On Friday, 30 January 2015 12:38:14 UTC, Björn Antonsson wrote:

 Hi,

 Are you sure that you need to block the sending code while the actor 
 does its work? Is there an asynchronous API in netty that you can use 
 where 
 the actor would invoke a callback when it has finished processing the 
 packet?

 B/

 On 27 January 2015 at 11:03:26, Jabbar Azam (aja...@gmail.com) 
 wrote:

 I think I need to look at typedactors.

 On Tuesday, 27 January 2015 09:29:43 UTC, Jabbar Azam wrote: 

 Hello, 

 How do I send a message from java non actor based code into an 
 actor system? The code will be running on the same node and will be 
 part of 
 the same source code. So netty will be running, receiving packets, 
 which 
 will send any received packets into an actor system. The actor system 
 will 
 process the packets and then send the response payload back to the 
 netty 
 code.


   --
  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 akka-user+...@googlegroups.com.
 To post to this group, send email to akka...@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout.


 -- 
 Björn Antonsson
 Typesafe http://typesafe.com/ – Reactive Apps on the JVM
 twitter: @bantonsson http://twitter.com/#!/bantonsson



-- 
  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 akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


[akka-user] Re: Akka Cluster Actor Failover and Rebalancing, is it possible?

2015-02-07 Thread Jim Hazen
There are probably a few ways to do this.  Most straight forward might be 
to start a local actor as part of each node's startup code.  Then use Akka 
clustering to observe node failures.  Use some deterministic strategy to 
reallocate that actor on some other host (let's say failed +1 in your 
ring).  When the old node comes back up it starts its actor normally and 
then asks node current +1 to remove that actor from its AS.

Another way might be to use cluster sharding with a completely balanced 
distribution and rememberEntries = true.  Akka would do more magic for you. 
 This may not totally be what you want.  This would guarantee 1 actor per 
server, however which actor was on which server wouldn't be deterministic. 
 You might be able to provide some additional allocation strategy to Akka 
sharding that would give you additional control over placement, but that 
seems like a rabbit hole to me.  Even if I could get it to work, I've 
worked too hard vs. option 1 and it may not be clear to the next developer 
what's going on.
 

-- 
  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 akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


[akka-user] ActorRefProvider.actorSelection cannot find a PromiseActorRef

2015-02-07 Thread IL
Hi all,

I got a path of a PromiseActorRef and try to send a message to this path. 
It seems the message will not be received by the PromiseActorRef.

class SimpleActor extends Actor {
  override def receive: Receive = {
case _ =
  val path = sender().path.toSerializationFormat
  context.actorSelection(path) ! Hi
  }
}

val actor = system.actorOf(Props[SimpleActor])

val result = Await.result(akka.pattern.ask(actor, 42), Duration.Inf)


akka 2.3.9 (scala 2.11.4)

Any idea?

Thanks,
IL

-- 
  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 akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] ActorRefProvider.actorSelection cannot find a PromiseActorRef

2015-02-07 Thread Roland Kuhn
Incidentally there is an open PR for fixing this: 
https://github.com/akka/akka/pull/16690 
https://github.com/akka/akka/pull/16690 This will be sorted out in the coming 
week, let’s see whether this can be done for 2.3.10 or not.

Regards,

Roland

 7 feb 2015 kl. 20:49 skrev IL iron9li...@gmail.com:
 
 Hi all,
 
 I got a path of a PromiseActorRef and try to send a message to this path. It 
 seems the message will not be received by the PromiseActorRef.
 
 class SimpleActor extends Actor {
   override def receive: Receive = {
 case _ =
   val path = sender().path.toSerializationFormat
   context.actorSelection(path) ! Hi
   }
 }
 val actor = system.actorOf(Props[SimpleActor])
 val result = Await.result(akka.pattern.ask(actor, 42), Duration.Inf)
 
 akka 2.3.9 (scala 2.11.4)
 
 Any idea?
 
 Thanks,
 IL
 
 -- 
  Read the docs: http://akka.io/docs/ http://akka.io/docs/
  Check the FAQ: 
  http://doc.akka.io/docs/akka/current/additional/faq.html 
  http://doc.akka.io/docs/akka/current/additional/faq.html
  Search the archives: https://groups.google.com/group/akka-user 
  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 akka-user+unsubscr...@googlegroups.com 
 mailto:akka-user+unsubscr...@googlegroups.com.
 To post to this group, send email to akka-user@googlegroups.com 
 mailto:akka-user@googlegroups.com.
 Visit this group at http://groups.google.com/group/akka-user 
 http://groups.google.com/group/akka-user.
 For more options, visit https://groups.google.com/d/optout 
 https://groups.google.com/d/optout.



Dr. Roland Kuhn
Akka Tech Lead
Typesafe http://typesafe.com/ – Reactive apps on the JVM.
twitter: @rolandkuhn
 http://twitter.com/#!/rolandkuhn

-- 
  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 akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.