JdbcLog extends AbstractLog { public String getIncomingMessagesTableName() { return incomingMessagesTableName; } JdbcLog(SessionSettings settings, SessionID sessionID, DataSource ds); void onEvent(String value); void clear(); String getIncomingMessagesTableName(); String getOutgoingMessagesTableName(); String getEventTableName(); void onErrorEvent(String text);  }
@Test public void testHandlesRecursivelyFailingException() throws Exception { setUpJdbcLog(false, null); Session.registerSession(new Session(new UnitTestApplication(), new MemoryStoreFactory(), sessionID, new DefaultDataDictionaryProvider(), null, logFactory, new DefaultMessageFactory(), 0)); dropTable(log.getIncomingMessagesTableName()); try { log.onIncoming("DB is messed up"); } catch (OutOfMemoryError err) { fail("We seem to get an out of memory error b/c of stack overflow b/c we" + "keep calling jdbc logger recursively in case of misconfiguration: " + err.getMessage()); } finally { initializeTableDefinitions(connection); } }