protected String addMessage(InternalEvent msg, EngineDataAccess edao) throws SQLException {
        if (cacheOption==CACHE_ONLY) {
            synchronized (messageQueue) {
                messageQueue.add(msg);
            }
            return null;
        } else if (cacheOption == CACHE_ON) {
            String msgid = generateMessageId(msg);
            edao.persistInternalEvent(msgid, msg.toXml());
            msg.setMessageId(msgid);
            synchronized (messageQueue) {
                messageQueue.add(msg);
            }
            return null;
        } else {    // CACHE_OFF
            String msgid = generateMessageId(msg);
            edao.persistInternalEvent(msgid, msg.toXml());
            return msgid;
        }
    }
protected String addMessage ( InternalEvent msg , EngineDataAccess edao ) throws SQLException { if ( cacheOption == CACHE_ONLY ) { synchronized ( messageQueue ) { messageQueue . add ( msg ) ; } return null ; } else if ( cacheOption == CACHE_ON ) { String msgid = generateMessageId ( msg ) ; edao . persistInternalEvent ( msgid , msg . toXml ( ) ) ; msg . setMessageId ( msgid ) ; synchronized ( messageQueue ) { messageQueue . add ( msg ) ; } return null ; } else { String msgid = generateMessageId ( msg ) ; edao . persistInternalEvent ( msgid , msg . toXml ( ) ) ; return msgid ; } }
@param msg
@return null if the message is cached; message ID if not cached
@throws SQLException