[
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)