A pubsub implementation that conforms to the PubSubHubbub protocol with extensions for authentication and security. PubSubHubbub, though originally designed for Atom and RSS feeds, can be applied to any type of data to push notifications over HTTP, eliminating inefficient polling for changes.
The normal build uses Apache Ant and Apache Ivy to resolve dependencies. The following ant tasks are available:
init-ivy
- Download and install ivy, if necessarycompile
- Compiles the sourcedist
- Resolves dependencies, compiles the source, and creates a jar indist/lib
. This is the default task.full-dist
- Resolves dependencies, compiles the source, creates a jar indist/lib
, and copies dependencies todist/extlib
clean
- Removes all build files and jars.javadoc
- Generates javadoc.cleandoc
- Removes generated javadoc.
H2 is an embedded database that can store tables in-memory or on-disk.
- If ivy is not installed with your ant distribution:
ant init-ivy
- Build:
ant full-dist
- Create an install-specific config:
cp config/example.h2.properties config/local.properties
- The default settings use an in-memory database that is destroyed on restart. If you wish to persist
subscriptions, use the alternate
endpoint.acp.connection.pubsub.connectionString
property with a local directory. - Start the server:
bin/start
- Verify that the server is running
http://localhost:8086/health
- Run a performance test:
bin/test
- View metrics
http://localhost:8086/metrics
. - Stop the server:
bin/stop
- If ivy is not installed with your ant distribution:
ant init-ivy
- Build:
ant full-dist
- Create a
pubsub
database. - Create the database tables:
mysql -u [your user] -p -h [your host] pubsub < config/mysql_pubsub_hub.sql
- Create an install-specific config:
cp config/example.mysql.properties config/local.properties
- Edit
config/local.properties
to changepubsub.user
,pubsub.password
andpubsub.connectionString
for your database. You may also want to change any usernames/passwords from their defaults at this time. - Start the server:
bin/start
- Verify that the server is running
http://localhost:8086/health
- Run a performance test:
bin/test
- View metrics
http://localhost:8086/metrics
. - Stop the server:
bin/stop
- Attribyte http-model
- Attribyte http-relay
- Attribyte shared-base
- Apache commons-codec
- Google Guava
- Dropwizard Metrics
- Apache Log4J
Copyright 2010, 2016 Attribyte, LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.