Create an event

      public class Example {
  
  public static void main(String[] args) {
    Map<String, String> parameters = new HashMap<String, String>();
    parameters.put(Parameters.NAME, "MyPublisher");
    // If we are running outside Grid these two parameters must be supplied
    // or the initialization below will throw an IllegalArgumentException. 
    // If running from within a Grid context the these parameters are resolved 
    // automatically and hence should be omitted. 
    parameters.put(Parameters.SERVER_HOST_ADDRESS, "eventhub.example.org");
    parameters.put(Parameters.SERVER_PORT, "5445");
    
    // Before a publisher can be used to publish events to the EventHub
    // it must be initialized by calling Publisher.initInstance(name).
    Publisher publisher;
    try {
      publisher = Publisher.initInstance(parameters);
    } catch (PublisherException e) {
      throw new RuntimeException(e);
    }
    
    EventData event = new EventData("MyDocument", EventOperation.CREATE);
    event.addElement("postedByThread", Thread.currentThread().getName());
    publisher.postEventWait(event);
    Thread thread = new Thread(new Runnable() {
      @Override
      public void run() {
        // Once a publisher instance is initialized with a call to 
        // Publisher.initInstance(name) a reference to a thread safe 
        // instance can be obtained from anywhere in the JVM by 
        // calling Publisher.getInstance(name).
        Publisher publisher = Publisher.getInstance("MyPublisher");
        EventData event = new EventData("MyDocument", EventOperation.CREATE);
        event.addElement("postedByThread", Thread.currentThread().getName());
        publisher.postEventWait(event);
      }
    });
    
    try {
      thread.start();
      thread.join();
    } catch (InterruptedException e) {
      Thread.currentThread().interrupt();
    }
    
    // A publisher instance should ALWAYS be closed before exiting the publishing 
    // application. This will ensure that any in-flight events either will be 
    // committed in EventHub our persistently journaled locally and replayed later.
    try {
      publisher.close();
    } catch (PublisherException e) {
      throw new RuntimeException(e);
    }
  }
}