You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Valentin Kulichenko (JIRA)" <ji...@apache.org> on 2015/08/13 03:37:45 UTC

[jira] [Comment Edited] (IGNITE-534) Implement IgniteJmsStreamer to stream data from a JMS broker like ActiveMQ

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

Valentin Kulichenko edited comment on IGNITE-534 at 8/13/15 1:37 AM:
---------------------------------------------------------------------

I also have couple of comments not regarding code guidelines:
# I'm not sure why we need {{setBatched()}} configuration property. In my understanding, we can just have default batch size of {{1}} which automatically means disabled batching. If user sets to any value greater than {{1}}, batching is enabled. BTW, we have pretty similar configuration API in {{ContinuousQuery}}, you can take a look to see what I mean.
# The same goes for {{setTransacted()}}. It looks like it's always enabled together with batching. And if I understand correctly, if there is no batching, setting transacted to {{true}} does not change anything. This makes me feel that there is no reason for two separate properties. Correct me if I'm wrong.

So I would consider removing both flags. This will simplify configuration and reduce number of argument checks.


was (Author: vkulichenko):
I also have couple of comments not regarding code guidelines:
# I'm not sure why we need {{setBatched()}} configuration property. In my understanding, we can just have default batch size of {{1}} which automatically means disabled batching. If user sets to any value greater than {{1}}, batching is enabled. BTW, we have pretty similar configuration API in {{ContinuousQuery}}, you can take a look to see what I mean.
# The same goes for {{setTransacted()}}. It looks like it's always enabled together with batching. And if I understand correctly, if there is no batching, setting transacted to {{true}} does not change anything. This makes me feel that there is no reason for two separate properties. Correct me if I'm wrong.

> Implement IgniteJmsStreamer to stream data from a JMS broker like ActiveMQ
> --------------------------------------------------------------------------
>
>                 Key: IGNITE-534
>                 URL: https://issues.apache.org/jira/browse/IGNITE-534
>             Project: Ignite
>          Issue Type: Sub-task
>          Components: streaming
>            Reporter: Dmitriy Setrakyan
>            Assignee: Valentin Kulichenko
>
> We have {{IgniteDataStreamer}} which is used to load data into Ignite under high load. It was previously named {{IgniteDataLoader}}, see ticket IGNITE-394.
> We should create {{IgniteJmsStreamer}} which will consume messages from a given queue or topic of a JMS broker and stream them into Ignite caches.
> Even though we'll use AMQ for testing, this streamer should be implementation-agnostic and only use JMS constructs where possible.
> See [Apache ActiveMQ|http://activemq.apache.org/] for more information.
> More details to follow, but to the least we should be able to:
> * Convert a JMS message to Ignite data using an optional pluggable converter. If not provided, 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)