[ 
https://issues.apache.org/jira/browse/IGNITE-532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14383920#comment-14383920
 ] 

Joshua Goldie edited comment on IGNITE-532 at 3/27/15 2:32 PM:
---------------------------------------------------------------

OK, I'm catching on now.

I think our best bet is an akka extension.  The extension could mixin 
{{addData}} and {{removeData}} methods to akka actors something like this:

{code}
class SomeActor extends Actor with IgniteDataStreaming   {
  def receive = {
    case (message) => addData(message.key, message)
  }
}
{code}

We could also supply and actor that is a stream consumer to bridge between 
streams and the extension.  This might be abstract in that it would need a "key 
extractor" built for the domain.

I would suggest that we not use the work Streaming in the name, however, since 
that means something different in akka.  Simply {{IngiteData}} or 
{{IgniteDataSupport}} might be better.

How does that sound?


was (Author: jdgoldie):
OK, I'm catching on now.

I think our best bet is an akka extension.  The extension could mixin `addData` 
and `removeData` methods to akka actors something like this:

```
class SomeActor extends Actor with IgniteDataStreaming   {
  def receive = {
    case (message) => addData(message.key, message)
  }
}
```

We could also supply and actor that is a stream consumer to bridge between 
streams and the extension.  This might be abstract in that it would need a "key 
extractor" built for the domain.

I would suggest that we not use the work Streaming in the name, however, since 
that means something different in akka.  Simply `IngiteData` or 
`IgniteDataSupport` might be better.

How does that sound?

> Implement IgniteAkkaStreamer to stream data from Akka actors.
> -------------------------------------------------------------
>
>                 Key: IGNITE-532
>                 URL: https://issues.apache.org/jira/browse/IGNITE-532
>             Project: Ignite
>          Issue Type: Sub-task
>          Components: streaming
>            Reporter: Dmitriy Setrakyan
>            Assignee: Joshua Goldie
>
> We have {{IgniteDataStreamer}} which is used to load data into Ignite under 
> high load. It was previously named {{IgniteDataLoader}}, see ticket 
> IGNITE-394.
> See [Akka|http://akka.io/] for more information. Given that Akka is a Scala 
> frameworks, this streamer should be available in Scala.
> We should create {{IgniteAkkaStreamer}} which will consume messages from Akka 
> Actors and stream them into Ignite caches.
> More details to follow, but to the least we should be able to:
> * Convert data from Akka to Ignite using an optional pluggable converter. If 
> not provided, then we should have some default mechanism.
> * Specify the cache name for the Ignite cache to load data into.
> * Specify other flags available on {{IgniteDataStreamer}} class.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to