nifi-websocket
所属分类:Websocket编程
开发工具:Java
文件大小:0KB
下载次数:0
上传日期:2015-10-18 10:23:02
上 传 者:
sh-1993
说明: Apache NiFi WebSocket侦听器
(Apache NiFi WebSocket Listener)
文件列表:
LICENSE.txt (11358, 2015-10-18)
WebSocketFlow.xml (21595, 2015-10-18)
build.gradle (1581, 2015-10-18)
gradle.properties (22, 2015-10-18)
gradle/ (0, 2015-10-18)
gradle/wrapper/ (0, 2015-10-18)
gradle/wrapper/gradle-wrapper.jar (53638, 2015-10-18)
gradle/wrapper/gradle-wrapper.properties (230, 2015-10-18)
gradlew (4957, 2015-10-18)
gradlew.bat (2404, 2015-10-18)
settings.gradle (35, 2015-10-18)
src/ (0, 2015-10-18)
src/main/ (0, 2015-10-18)
src/main/java/ (0, 2015-10-18)
src/main/java/com/ (0, 2015-10-18)
src/main/java/com/crossbusiness/ (0, 2015-10-18)
src/main/java/com/crossbusiness/nifi/ (0, 2015-10-18)
src/main/java/com/crossbusiness/nifi/controllers/ (0, 2015-10-18)
src/main/java/com/crossbusiness/nifi/controllers/VertxService.java (6203, 2015-10-18)
src/main/java/com/crossbusiness/nifi/controllers/VertxServiceInterface.java (300, 2015-10-18)
src/main/java/com/crossbusiness/nifi/processors/ (0, 2015-10-18)
src/main/java/com/crossbusiness/nifi/processors/GetEventBus.java (8420, 2015-10-18)
src/main/java/com/crossbusiness/nifi/processors/PublishEventBus.java (7331, 2015-10-18)
src/main/java/com/crossbusiness/nifi/processors/SendEventBus.java (932, 2015-10-18)
src/main/resources/ (0, 2015-10-18)
src/main/resources/META-INF/ (0, 2015-10-18)
src/main/resources/META-INF/services/ (0, 2015-10-18)
src/main/resources/META-INF/services/org.apache.nifi.controller.ControllerService (645, 2015-10-18)
src/main/resources/META-INF/services/org.apache.nifi.processor.Processor (740, 2015-10-18)
test.html (3721, 2015-10-18)
# NiFi-WebSocket
```python
Work-in-Progress
```
The goal of this project is to enable *WebSocket* interface to NiFi so that, external clients can send data to a flow as well as NiFi can stream results back to clients like browsers.
To simplify usage, [STOMP over WebSocket](http://jmesnil.net/stomp-websocket/doc/) protocol is used for client/server communication.
1. **VertxService** is a NiFi service that opens **WebSocket** port and bridge the embedded [vertx's](http://vertx.io/) **EventBus**.
2. **GetEventBus** is a NiFi processor that subscribe to **EventBus's** address. all messages received on the address will be emitted into the flow.
3. **SendEventBus** is a NiFi processor that sends flowFile to **EventBus** address (point-to-point). only one recipient will receive flowFile.
4. **PublishEventBus** is a NiFi processor that publish flowFile to **EventBus** address (pub/sub). all subscribers on the address will receive flowFile.
### Install
1. Manual: Download [Apache NiFi](https://nifi.apache.org/download.html) binaries and unpack to a folder.
2. On Mac: brew install nifi
### Deploy
```bash
# Assume you unpacked nifi-0.3.0-bin.zip to /Developer/Applications/nifi
./gradlew clean deploy -Pnifi_home=/Developer/Applications/nifi
```
On Mac
```bash
gradle clean deploy -Pnifi_home=/usr/local/Cellar/nifi/0.3.0/libexec
```
### Run
```bash
cd /Developer/Applications/nifi
./bin/nifi.sh start
./bin/nifi.sh stop
```
On Mac
```bash
# nifi start|stop|run|restart|status|dump|install
nifi start
nifi status
nifi stop
# Working Directory: /usr/local/Cellar/nifi/0.3.0/libexec
```
### Test
1. check if SockJS server is up: http://hostname:{port}/{eventbus}/info
2. test evenBus via web page: [test.html](./test.html)
3. test with flow: [WebSocketFlow.xml](./WebSocketFlow.xml)
### TODO
1. Try HazelcastClusterManager and Vertx.clusteredVertx to see if vertx clustering is possible with NiFi cluster.
2. Support ability to publish multiple types of messages. i.e., primitives, string, buffers, JSON
近期下载者:
相关文件:
收藏者: