@Override public JdbcEventListener createJdbcEventListener() { return factory.createJdbcEventListener(); } }
@Test public void testServiceLoader() throws Exception { JdbcEventListener eventListener = new DefaultJdbcEventListenerFactory().createJdbcEventListener(); assertTrue(eventListener instanceof CompoundJdbcEventListener); CompoundJdbcEventListener compoundJdbcEventListener = (CompoundJdbcEventListener) eventListener; final List<JdbcEventListener> eventListeners = compoundJdbcEventListener.getEventListeners(); assertTrue(containsClass(TestJdbcEventListener.class, eventListeners)); assertFalse(containsClass(JdbcEventListener.class, eventListeners)); assertTrue(containsClass(TestLoggingEventListener.class, eventListeners)); assertFalse(containsClass(LoggingEventListener.class, eventListeners)); }
@Test public void testServiceLoaderFromWrapConnection() throws Exception { final Connection connectionMock = mock(Connection.class); @SuppressWarnings("resource") final Connection connection = ConnectionWrapper.wrap(connectionMock, new DefaultJdbcEventListenerFactory().createJdbcEventListener(), ConnectionInformation.fromTestConnection(connectionMock)); assertTrue(connection instanceof ConnectionWrapper); ConnectionWrapper connectionWrapper = (ConnectionWrapper) connection; final JdbcEventListener eventListener = connectionWrapper.getEventListener(); assertTrue(eventListener instanceof CompoundJdbcEventListener); CompoundJdbcEventListener compoundJdbcEventListener = (CompoundJdbcEventListener) eventListener; final List<JdbcEventListener> eventListeners = compoundJdbcEventListener.getEventListeners(); assertTrue(containsClass(TestJdbcEventListener.class, eventListeners)); assertFalse(containsClass(JdbcEventListener.class, eventListeners)); assertTrue(containsClass(TestLoggingEventListener.class, eventListeners)); assertFalse(containsClass(LoggingEventListener.class, eventListeners)); }