|
1 |
| -== Stream Applications |
| 1 | += Stream Applications |
| 2 | +:docs: https://docs.spring.io/spring-pulsar/reference |
| 3 | +:github: https://github.com/spring-projects/spring-pulsar |
2 | 4 |
|
3 |
| -In this repository, you will find a collection of components that can meet various data integration use cases and requirements. |
| 5 | +WARNING: The 2022.0.x branch is out of OSS support |
4 | 6 |
|
5 |
| -The repository's primary focus is to provide a set of standalone Java functions that can be useful in the end-user applications as-is. |
6 |
| - |
7 |
| -Besides, this repository builds on the Java functions to generate standalone Spring Cloud Stream applications that can run against Spring Cloud Stream's RabbitMQ or Apache Kafka binder implementations. |
8 |
| -It is also possible to extend the generator to bundle the Java functions with the other supported binder implementations. |
9 |
| - |
10 |
| -These applications can run standalone or as part of a data flow, such as the one orchestrated using Spring Cloud Data Flow. |
11 |
| - |
12 |
| -=== Project Structure |
13 |
| - |
14 |
| -The repository includes two major sections - `Functions` and `Applications`. |
15 |
| -The former hosts the various Java functions, and the latter is for generating the standalone Spring Cloud Stream applications and hosting their related components. |
16 |
| - |
17 |
| -The following are the various components of this repository. |
18 |
| - |
19 |
| -* https://github.com/spring-cloud/stream-applications/tree/master/functions[Standalone Java Functions] |
20 |
| -* https://github.com/spring-cloud/stream-applications/tree/master/applications/stream-applications-core[Common Core Components for Applications] |
21 |
| -* https://github.com/spring-cloud/stream-applications/tree/master/applications[Spring Cloud Stream Applications] |
22 |
| -* https://github.com/spring-cloud/stream-applications/tree/master/stream-applications-build[Build Parent] |
23 |
| -* https://github.com/spring-cloud/stream-applications/tree/master/stream-applications-release-train[Release Train] |
24 |
| - |
25 |
| -=== Reusable Functions |
26 |
| - |
27 |
| -|=== |
28 |
| -| `java.util.Supplier` | `java.util.Function` | `java.util.Consumer` |
29 |
| - |
30 |
| -|link:functions/supplier/debezium-supplier/README.adoc[Debezium supplier] |
31 |
| -|link:functions/function/aggregator-function/README.adoc[Aggregator] |
32 |
| -|link:functions/consumer/analytics-consumer/README.adoc[Analytics] |
33 |
| - |
34 |
| -|link:functions/supplier/file-supplier/README.adoc[File] |
35 |
| -|link:functions/function/filter-function/README.adoc[Filter] |
36 |
| -|link:functions/consumer/cassandra-consumer/README.adoc[Cassandra] |
37 |
| - |
38 |
| -|link:functions/supplier/ftp-supplier/README.adoc[FTP] |
39 |
| -|link:functions/function/header-enricher-function/README.adoc[Header-Enricher] |
40 |
| -|link:functions/consumer/elasticsearch-consumer/README.adoc[Elasticsearch] |
41 |
| - |
42 |
| -| |
43 |
| -|link:functions/function/header-filter-function/README.adoc[Header-Filter] |
44 |
| -|link:functions/consumer/file-consumer/README.adoc[File] |
45 |
| - |
46 |
| -|link:functions/supplier/http-supplier/README.adoc[HTTP] |
47 |
| -|link:functions/function/http-request-function/README.adoc[HTTP Request] |
48 |
| -|link:functions/consumer/ftp-consumer/README.adoc[FTP] |
49 |
| - |
50 |
| -|link:functions/supplier/jdbc-supplier/README.adoc[JDBC] |
51 |
| -|link:functions/function/image-recognition-function/README.adoc[Image Recognition(Tensorflow)] |
52 |
| -| |
53 |
| - |
54 |
| -|link:functions/supplier/jms-supplier/README.adoc[JMS] |
55 |
| -|link:functions/function/object-detection-function/README.adoc[Object Detection(Tensorflow)] |
56 |
| -|link:functions/consumer/jdbc-consumer/README.adoc[JDBC] |
57 |
| - |
58 |
| -|link:functions/supplier/mail-supplier/README.adoc[Mail] |
59 |
| -|link:functions/function/semantic-segmentation-function/README.adoc[Semantic Segmentation(Tensorflow)] |
60 |
| -|link:functions/consumer/log-consumer/README.adoc[Log] |
61 |
| - |
62 |
| -|link:functions/supplier/mongodb-supplier/README.adoc[MongoDB] |
63 |
| -|link:functions/function/spel-function/README.adoc[SpEL] |
64 |
| -|link:functions/consumer/mongodb-consumer/README.adoc[MongoDB] |
65 |
| - |
66 |
| -|link:functions/supplier/mqtt-supplier/README.adoc[MQTT] |
67 |
| - |
68 |
| -|link:functions/function/splitter-function/README.adoc[Splitter] |
69 |
| -|link:functions/consumer/mqtt-consumer/README.adoc[MQTT] |
70 |
| - |
71 |
| -|link:functions/supplier/rabbit-supplier/README.adoc[RabbitMQ] |
72 |
| -|link:functions/function/task-launch-request-function/README.adoc[Task Launch Request] |
73 |
| -|link:functions/consumer/rabbit-consumer/README.adoc[RabbitMQ] |
74 |
| - |
75 |
| -|link:functions/supplier/s3-supplier/README.adoc[AWS S3] |
76 |
| -| |
77 |
| -|link:functions/consumer/redis-consumer/README.adoc[Redis] |
78 |
| - |
79 |
| -|link:functions/supplier/sftp-supplier/README.adoc[SFTP] |
80 |
| -| |
81 |
| -|link:functions/consumer/rsocket-consumer/README.adoc[RSocket] |
82 |
| - |
83 |
| -|link:functions/supplier/syslog-supplier/README.adoc[Syslog] |
84 |
| -| |
85 |
| -|link:functions/consumer/s3-consumer/README.adoc[AWS S3] |
86 |
| - |
87 |
| -|link:functions/supplier/tcp-supplier/README.adoc[TCP] |
88 |
| -| |
89 |
| -|link:functions/consumer/sftp-consumer/README.adoc[SFTP] |
90 |
| - |
91 |
| -|link:functions/supplier/time-supplier/README.adoc[Time] |
92 |
| -| |
93 |
| -|link:functions/consumer/tcp-consumer/README.adoc[TCP] |
94 |
| - |
95 |
| -|link:functions/supplier/twitter-supplier/README.adoc[Twitter] |
96 |
| -|link:functions/function/twitter-function/README.adoc[Twitter] |
97 |
| -|link:functions/consumer/twitter-consumer/README.adoc[Twitter] |
98 |
| - |
99 |
| -|link:functions/supplier/websocket-supplier/README.adoc[Websocket] |
100 |
| -| |
101 |
| -|link:functions/consumer/websocket-consumer/README.adoc[Websocket] |
102 |
| - |
103 |
| -| |
104 |
| -| |
105 |
| -|link:functions/consumer/wavefront-consumer/README.adoc[Wavefront] |
106 |
| - |
107 |
| -|link:functions/supplier/xmpp-supplier/README.adoc[XMPP] |
108 |
| -| |
109 |
| -|link:functions/consumer/xmpp-consumer/README.adoc[XMPP] |
110 |
| - |
111 |
| -|=== |
112 |
| - |
113 |
| -=== Reusable Spring Cloud Stream Applications |
114 |
| - |
115 |
| -|=== |
116 |
| -| Source | Processor | Sink |
117 |
| -|link:applications/source/debezium-source/README.adoc[Debezium supplier] |
118 |
| -|link:applications/processor/aggregator-processor/README.adoc[Aggregator] |
119 |
| -|link:applications/sink/analytics-sink/README.adoc[Analytics] |
120 |
| - |
121 |
| -|link:applications/source/file-source/README.adoc[File] |
122 |
| -|link:applications/processor/bridge-processor/README.adoc[Bridge] |
123 |
| -|link:applications/sink/cassandra-sink/README.adoc[Cassandra] |
124 |
| - |
125 |
| -|link:applications/source/ftp-source/README.adoc[FTP] |
126 |
| -|link:applications/processor/filter-processor/README.adoc[Filter] |
127 |
| -|link:applications/sink/elasticsearch-sink/README.adoc[Elasticsearch] |
128 |
| - |
129 |
| -| |
130 |
| -|link:applications/processor/groovy-processor/README.adoc[Groovy] |
131 |
| -|link:applications/sink/file-sink/README.adoc[File] |
132 |
| - |
133 |
| -|link:applications/source/http-source/README.adoc[HTTP] |
134 |
| -|link:applications/processor/header-enricher-processor/README.adoc[Header-Enricher] |
135 |
| -|link:applications/sink/ftp-sink/README.adoc[FTP] |
136 |
| - |
137 |
| -|link:applications/source/jdbc-source/README.adoc[JDBC] |
138 |
| -|link:applications/processor/http-request-processor/README.adoc[HTTP Request] |
139 |
| -| |
140 |
| - |
141 |
| -|link:applications/source/jms-source/README.adoc[JMS] |
142 |
| -|link:applications/processor/image-recognition-processor/README.adoc[Image Recognition(Tensorflow)] |
143 |
| -|link:applications/sink/jdbc-sink/README.adoc[JDBC] |
144 |
| - |
145 |
| -|link:applications/source/load-generator-source/README.adoc[Load-Generator] |
146 |
| -|link:applications/processor/object-detection-processor/README.adoc[Object Detection(Tensorflow)] |
147 |
| -|link:applications/sink/log-sink/README.adoc[Log] |
148 |
| - |
149 |
| -|link:applications/source/mail-source/README.adoc[Mail] |
150 |
| -| |
151 |
| -|link:applications/sink/mongodb-sink/README.adoc[MongoDB] |
152 |
| - |
153 |
| -|link:applications/source/mongodb-source/README.adoc[MongoDB] |
154 |
| -|link:applications/processor/semantic-segmentation-processor/README.adoc[Semantic Segmentation(Tensorflow)] |
155 |
| -|link:applications/sink/mqtt-sink/README.adoc[MQTT] |
156 |
| - |
157 |
| -|link:applications/source/mqtt-source/README.adoc[MQTT] |
158 |
| -|link:applications/processor/script-processor/README.adoc[Script] |
159 |
| -|link:applications/sink/pgcopy-sink/README.adoc[Pgcopy] |
160 |
| - |
161 |
| -|link:applications/source/rabbit-source/README.adoc[RabbitMQ] |
162 |
| -|link:applications/processor/splitter-processor/README.adoc[Splitter] |
163 |
| -|link:applications/sink/rabbit-sink/README.adoc[RabbitMQ] |
164 |
| - |
165 |
| -|link:applications/source/s3-source/README.adoc[AWS S3] |
166 |
| -|link:applications/processor/transform-processor/README.adoc[Transform] |
167 |
| -|link:applications/sink/redis-sink/README.adoc[Redis] |
168 |
| - |
169 |
| -|link:applications/source/sftp-source/README.adoc[SFTP] |
170 |
| -|link:applications/processor/twitter-trend-processor/README.adoc[Twitter Trend] |
171 |
| -|link:applications/sink/router-sink/README.adoc[Router] |
172 |
| - |
173 |
| -|link:applications/source/syslog-source/README.adoc[Syslog] |
174 |
| -| |
175 |
| -|link:applications/sink/rsocket-sink/README.adoc[RSocket] |
176 |
| - |
177 |
| -|link:applications/source/tcp-source/README.adoc[TCP] |
178 |
| -| |
179 |
| -|link:applications/sink/sftp-sink/README.adoc[SFTP] |
180 |
| - |
181 |
| -|link:applications/source/time-source/README.adoc[Time] |
182 |
| -| |
183 |
| -|link:applications/sink/tasklauncher-sink/README.adoc[Task Launcher] |
184 |
| - |
185 |
| -|link:applications/source/twitter-message-source/README.adoc[Twitter Message] |
186 |
| -| |
187 |
| -|link:applications/sink/tcp-sink/README.adoc[TCP] |
188 |
| - |
189 |
| -|link:applications/source/twitter-search-source/README.adoc[Twitter Search] |
190 |
| -| |
191 |
| -|link:applications/sink/throughput-sink/README.adoc[Throughput] |
192 |
| - |
193 |
| -|link:applications/source/twitter-stream-source/README.adoc[Twitter Stream] |
194 |
| -| |
195 |
| -|link:applications/sink/twitter-message-sink/README.adoc[Twitter Message] |
196 |
| - |
197 |
| -|link:applications/source/websocket-source/README.adoc[Websocket] |
198 |
| -| |
199 |
| -|link:applications/sink/twitter-update-sink/README.adoc[Twitter Update] |
200 |
| - |
201 |
| -|link:applications/source/xmpp-source/README.adoc[XMPP] |
202 |
| -| |
203 |
| -|link:applications/sink/wavefront-sink/README.adoc[Wavefront] |
204 |
| - |
205 |
| -| |
206 |
| -| |
207 |
| -|link:applications/sink/websocket-sink/README.adoc[Websocket] |
208 |
| - |
209 |
| -| |
210 |
| -| |
211 |
| -|link:applications/sink/xmpp-sink/README.adoc[XMPP] |
212 |
| - |
213 |
| -|=== |
214 |
| - |
215 |
| -=== Build |
216 |
| - |
217 |
| -This build requires GraalVM JDK 17 distribution in order to build the script function and processor. |
218 |
| - |
219 |
| -If you are building locally and don't want to publish to a repository set: `export LOCAL=true` |
220 |
| - |
221 |
| -==== Quick Compile |
222 |
| - |
223 |
| -This will compile all jars and publish to local repo. |
224 |
| - |
225 |
| -[source,shell] |
226 |
| -.... |
227 |
| -./quick-compile.sh |
228 |
| -.... |
229 |
| - |
230 |
| -==== Boil the Ocean |
231 |
| - |
232 |
| -This will build and test / integration test all the modules. |
233 |
| - |
234 |
| -.... |
235 |
| -./full-build-test.sh |
236 |
| -.... |
237 |
| - |
238 |
| -==== Core |
239 |
| - |
240 |
| -This will build the core functionality and all functions. |
241 |
| - |
242 |
| -[source,shell] |
243 |
| -.... |
244 |
| -./build-core.sh |
245 |
| -.... |
246 |
| - |
247 |
| -You can then build the desired apps. |
248 |
| - |
249 |
| -==== Application |
250 |
| - |
251 |
| -[source,shell] |
252 |
| -.... |
253 |
| -./build-app.sh . applications/sink/log-sink |
254 |
| -.... |
255 |
| - |
256 |
| -NOTE: In order to disable metrics by default there needs to be application properties configured like in `default-application.properties`. The `build-app.sh` script will copy default-application.properties into src/main/resources if no application.properties,yml,yaml or json is present. |
257 |
| - |
258 |
| -=== Additional Resources |
259 |
| - |
260 |
| -Here is a list of resources where you can find out more about using and developing functions and stream applications: |
261 |
| - |
262 |
| -* link:docs/FunctionComposition.adoc[Function Composition] |
263 |
| -* link:docs/Contributing.adoc[Contributing a New Function or Application to this Repository] |
264 |
| - |
265 |
| -=== Code of Conduct |
266 |
| - |
267 |
| -Please see our https://github.com/spring-projects/.github/blob/master/CODE_OF_CONDUCT.md[Code of Conduct] |
| 7 | +== This branch is locked - please file any issues in the https://github.com/spring-cloud/stream-applications-commercial/tree/2022.0.x[stream-applications-commercial] repo |
0 commit comments