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.
Enable subscription management capability of the client first.
- 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
- run
./gradlew jar
first to build the flat jar file - run
docker build . -t ichen/geo-filtering:0.0.1
to build the Docker image
- run below command to create the container
- 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