Skip to content

Latest commit

 

History

History
52 lines (39 loc) · 1.99 KB

README.md

File metadata and controls

52 lines (39 loc) · 1.99 KB

Geo Filtering

This is a simple implementation of Aaron's essay Ranged Filtering of Streaming Numeric Data, or Geolocation Filtering of Streaming GPS Data, using Topic-Based Pub/Sub Messaging.

It also works as a OBO subscription managers to subscribe to a large number of topics for the Web client.

Prerequisites

Enable subscription management capability of the client first.

Options

  1. run ./gradlew jar first to build the flat jar file
 java -jar app/build/libs/geo-filtering.jar --help
Usage: geo-filtering [-h] [-H=<host>] [-p=<password>] [-u=<userName>]
  -h, --help          display this help message
  -H, --host=<host>   ip[:port]  IP and port of the event broker. (e.g. -h=192.
                        168.160.101), if not specified, read from the env
                        variable solace_host
                        Default: localhost:44444
  -p, --password=<password>
                      Client password, if not specified, read from the env
                        variable solace_password
                        Default: default
  -u, --username=<userName>
                      user[@vpn] Client username and optionally VPN name, , if
                        not specified, read from the env variable
                        solace_username
                        Default: default@default

Build Docker Image

  1. run ./gradlew jar first to build the flat jar file
  2. run docker build . -t ichen/geo-filtering:0.0.1 to build the Docker image

Build and Run Docker Container

  1. run below command to create the container
  2. run docker start ichen-geo-filtering to start the data generator
docker create --restart unless-stopped \
--env 'solace_host=host_url' \
--env 'solace_username=username@vpn' \
--env 'solace_password=password' \
--name=ichen-geo-filtering ichen/geo-filtering:0.0.1