You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Subhobrata Dey (JIRA)" <ji...@apache.org> on 2016/04/15 04:05:25 UTC

[jira] [Created] (CAMEL-9869) Create Apache Flink Component

Subhobrata Dey created CAMEL-9869:
-------------------------------------

             Summary: Create Apache Flink Component
                 Key: CAMEL-9869
                 URL: https://issues.apache.org/jira/browse/CAMEL-9869
             Project: Camel
          Issue Type: New Feature
            Reporter: Subhobrata Dey
             Fix For: 2.18.0


Hello,

I have created an Apache Flink component for Camel which makes it easier to use Flink for analytics. One can use DataSet callbacks with Spring beans/OSGI services.

Using Spring's application context, it can be accessed like 

{noformat}
@Bean
public DataSetCallback<Long> countLinesContaining() {
    return new DataSetCallback<Long>() {
        public Long onDataSet(DataSet dataSet, Object... objects) {
            try {
                dataSet.print();
                return new Long(0);
            } catch (Exception e) {
                return new Long(-1);
            }
        }
    };
}

@Bean
public DataSet myDataSet() {
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();

    DataSet<String> text = env.fromElements(
            "Who's there?",
            "I think I hear them. Stand ho! Who's there?");

    return text;
}

{noformat}

The results can be accessed like 

{noformat}
Long count = template.requestBody("flink:dataSet?dataSet=#myDataSet&dataSetCallback=#countLinesContaining", pattern, Long.class);
{noformat}

Please review & accept my contribution.



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