public void handleNotification(Notification ntfyObj, Object handback) { log.info("***************************************************"); log.info("* Notification received at " + new Date().toString()); log.info("* type = " + ntfyObj.getType()); log.info("* message = " + ntfyObj.getMessage()); if (ntfyObj.getMessage().contains(path)) { setSuccess(true); } log.info("* seqNum = " + ntfyObj.getSequenceNumber()); log.info("* source = " + ntfyObj.getSource()); log.info("* seqNum = " + Long.toString(ntfyObj.getSequenceNumber())); log.info("* timeStamp = " + new Date(ntfyObj.getTimeStamp())); log.info("* userData = " + ntfyObj.getUserData()); log.info("***************************************************"); }
@Override public void sendNotification(Notification aNotification) { PreparedStatement stmt = null; try { // prepare the insert statement stmt = connection.prepareStatement(NOTIF_INSERT_SQL); stmt.setString(1, aNotification.getMessage()); stmt.setLong(2, aNotification.getSequenceNumber()); if (aNotification.getSource() instanceof Serializable) { stmt.setObject(3, aNotification.getSource()); } else { stmt.setObject(3, "No source"); } stmt.setLong(4, aNotification.getTimeStamp()); stmt.setString(5, aNotification.getType()); if (aNotification.getUserData() instanceof Serializable) { stmt.setObject(6, aNotification.getUserData()); } else { stmt.setObject(6, "No user data"); } // execute amnd commit stmt.executeUpdate(); // this should really be managed by the transaction // manager and connections connection.commit(); } catch (Exception e) { LOG.error("Failed to persist notification", e); } finally { try { if (stmt != null) { stmt.close(); } } catch (SQLException sqle) { LOG.error("failed to close statement", sqle); } } super.sendNotification(aNotification); }