Event notification example

The following example shows how to implement an event handler and then register an event with an instance of your event handler, once you have a connection:

 public class MyEventHandler implements SybEventHandler
 {
   // Declare fields and constructors, as needed.
   ...
   public MyEventHandler(String eventname)
   {
     ...
   }
 
   // Implement SybEventHandler.event.
   public void event(String eventName, ResultSet params)
   {
     try
     {
       // Check for error messages received prior to event
       // notification.
       SQLWarning sqlw = params.getWarnings();
       if sqlw != null
       {
         // process errors, if any
         ...
       }
       // process params as you would any result set with
       // one row.
       ResultSetMetaData rsmd = params.getMetaData();
       int numColumns = rsmd.getColumnCount();
       while (params.next())          // optional
       {
         for (int i = 1; i <= numColumns; i++)
         {
           System.out.println(rsmd.getColumnName(i) + " =
             " + params.getString(i));
         }
         // Take appropriate action on the event. For example,
         // perhaps notify application thread.
         ...
       }
     }
     catch (SQLException sqe)
     {
       // process errors, if any
       ...
     }
   }
 }
 
 public class MyProgram
 {
   ...
   // Get a connection and register an event with an instance
   // of MyEventHandler.
   Connection conn = DriverManager.getConnection(...); 
   MyEventHandler myHdlr = new  MyEventHandler("MY_EVENT");
 
   // Register your event handler.
   ((SybConnection)conn).regWatch("MY_EVENT", myHdlr,
     SybEventHandler.NOTIFY_ALWAYS);
   ...
  conn.regNoWatch("MY_EVENT");
   conn.close();
 }