D3adspaceEnterprises/heimdall

Name: heimdall

Owner: D3adspace Enterprises

Description: Lightweight and fast Publisher Subscriber Pattern implementation using json.

Created: 2017-07-04 17:41:04.0

Updated: 2017-11-03 12:46:49.0

Pushed: 2017-07-23 13:11:43.0

Homepage:

Size: 33

Language: Java

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Heimdall

Heimdall is supposed to be a lightweight and easy to use pub sub communication framework you can build your infrastructure on.

Installation / Usage

Maven dependencies

Client:

endency>
<groupId>de.d3adspace</groupId>
<artifactId>heimdall-client</artifactId>
<version>1.0-SNAPSHOT</version>
pendency>

Server:

endency>
<groupId>de.d3adspace</groupId>
<artifactId>heimdall-server</artifactId>
<version>1.0-SNAPSHOT</version>
pendency>

Commons:

endency>
<groupId>de.d3adspace</groupId>
<artifactId>heimdall-commons</artifactId>
<version>1.0-SNAPSHOT</version>
pendency>

Example

Server:

age de.d3adspace.heimdall.example;

rt de.d3adspace.heimdall.server.HeimdallServer;
rt de.d3adspace.heimdall.server.HeimdallServerFactory;
rt de.d3adspace.heimdall.server.config.HeimdallServerConfig;
rt de.d3adspace.heimdall.server.config.HeimdallServerConfigBuilder;


author Felix 'SasukeKawaii' Klauke

ic class HeimdallServerExample {

public static void main(String[] args) {
    HeimdallServerConfig config = new HeimdallServerConfigBuilder()
        .setServerHost("localhost")
        .setServerPort(1337)
        .createHeimdallServerConfig();

    HeimdallServer heimdallServer = HeimdallServerFactory.createHeimdallServer(config);
    heimdallServer.start();
}

Client:

age de.d3adspace.heimdall.example;

rt de.d3adspace.heimdall.client.HeimdallClient;
rt de.d3adspace.heimdall.client.HeimdallClientFactory;
rt de.d3adspace.heimdall.client.annotation.Channel;
rt de.d3adspace.heimdall.client.config.HeimdallClientConfig;
rt de.d3adspace.heimdall.client.config.HeimdallClientConfigBuilder;
rt de.d3adspace.heimdall.client.handler.PacketHandler;
rt org.json.JSONObject;


author Felix 'SasukeKawaii' Klauke

ic class HeimdallClientExample {

public static void main(String[] args) {
    HeimdallClientConfig config = new HeimdallClientConfigBuilder()
        .setServerHost("localhost")
        .setServerPort(1337)
        .createHeimdallClientConfig();

    HeimdallClient client = HeimdallClientFactory.createHeimdallClient(config);
    client.connect();

    PacketHandler packetHandler = new PacketHandlerExample();
    client.subscribe(packetHandler);

    client.publish("cluster", new JSONObject().put("Hello", "World!"));

    client.unsubscribe(packetHandler);

    client.disconnect();
}

age de.d3adspace.heimdall.example;

rt de.d3adspace.heimdall.client.annotation.Channel;
rt de.d3adspace.heimdall.client.handler.PacketHandler;
rt org.json.JSONObject;


author Felix 'SasukeKawaii' Klauke

nnel("cluster")
ic class PacketHandlerExample implements PacketHandler {

public void handlePacket(JSONObject jsonObject) {
    System.out.println("Message in cluster: " + jsonObject);
}


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.