Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ivpal/vertx-ignite-streamer
vertx-ignite-streamer provides streaming events from Vert.x event bus to key-value pairs into Apache Ignite instance.
https://github.com/ivpal/vertx-ignite-streamer
apache-ignite vertx
Last synced: 20 days ago
JSON representation
vertx-ignite-streamer provides streaming events from Vert.x event bus to key-value pairs into Apache Ignite instance.
- Host: GitHub
- URL: https://github.com/ivpal/vertx-ignite-streamer
- Owner: ivpal
- License: apache-2.0
- Created: 2021-05-08T17:07:12.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-08T17:26:52.000Z (almost 4 years ago)
- Last Synced: 2024-11-18T13:28:32.151Z (3 months ago)
- Topics: apache-ignite, vertx
- Language: Java
- Homepage:
- Size: 60.5 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vertx-ignite-streamer
vertx-ignite-streamer provides streaming events from Vert.x event bus to key-value pairs into Apache Ignite instance.
## Usage
### Gradle
```groovy
repositories {
maven { url 'https://jitpack.io' }
}dependencies {
implementation 'com.github.ivpal:vertx-ignite-streamer:1.0.0-SNAPSHOT'
}
```
### Maven
```xml
jitpack.io
https://jitpack.io
com.github.ivpal
vertx-ignite-streamer
1.0.0-SNAPSHOT```
### Java code example:
```java
var config = new IgniteConfiguration();
var clusterManager = new IgniteClusterManager(config);
var vertxOptions = new VertxOptions().setClusterManager(clusterManager);
final var cacheName = "words";
final var address = "address";Vertx.clusteredVertx(vertxOptions)
.onSuccess(vertx -> {
var ignite = clusterManager.getIgniteInstance();
ignite.createCache(cacheName);
var streamer = ignite.dataStreamer(cacheName);
streamer.allowOverwrite(true);
streamer.perThreadBufferSize(1);
streamer.autoFlushFrequency(1000);var vertxStreamer = new VertxStreamer();
vertxStreamer.setAddress(address);
vertxStreamer.setVertx(vertx);
vertxStreamer.setIgnite(ignite);
vertxStreamer.setStreamer(streamer);
vertxStreamer.setSingleTupleExtractor(msg -> new Map.Entry<>() {
@Override
public String getKey() {
return msg.split(":")[0];
}@Override
public String getValue() {
return msg.split(":")[1];
}@Override
public String setValue(String value) {
return null;
}
});
vertxStreamer.start();vertx.eventBus().send(address, "key:value");
// Because we set autoFlushFrequency to 1000
vertx.setTimer(1000, event -> {
var value = ignite.cache(cacheName).get("key"); // should be "value"
});
});
```