List of usage examples for org.springframework.integration.jdbc StoredProcExecutor setBeanFactory
@Override public void setBeanFactory(BeanFactory beanFactory)
From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java
@Test public void testStoredProcExecutorWithNullProcedureName() { DataSource datasource = mock(DataSource.class); try {/*from ww w .ja v a 2 s .c om*/ StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource); storedProcExecutor.setBeanFactory(mock(BeanFactory.class)); storedProcExecutor.afterPropertiesSet(); } catch (IllegalArgumentException e) { assertEquals( "You must either provide a " + "Stored Procedure Name or a Stored Procedure Name Expression.", e.getMessage()); return; } fail("Exception expected."); }
From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java
@Test public void testGetStoredProcedureNameExpressionAsString() throws Exception { DataSource datasource = mock(DataSource.class); StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource); final ExpressionFactoryBean efb = new ExpressionFactoryBean("headers['stored_procedure_name']"); efb.afterPropertiesSet();/* w ww . j a va 2s . com*/ final Expression expression = efb.getObject(); storedProcExecutor.setStoredProcedureNameExpression(expression); storedProcExecutor.setBeanFactory(mock(BeanFactory.class)); storedProcExecutor.afterPropertiesSet(); assertEquals("headers['stored_procedure_name']", storedProcExecutor.getStoredProcedureNameExpressionAsString()); }
From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java
@Test public void testGetStoredProcedureNameExpressionAsString2() throws Exception { DataSource datasource = mock(DataSource.class); StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource); storedProcExecutor.setStoredProcedureName("123"); storedProcExecutor.setBeanFactory(mock(BeanFactory.class)); storedProcExecutor.afterPropertiesSet(); assertEquals("123", storedProcExecutor.getStoredProcedureName()); assertEquals("123", storedProcExecutor.getStoredProcedureNameExpressionAsString()); }
From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java
@Test public void testStoredProcExecutorWithNonResolvingExpression() throws Exception { final DataSource datasource = mock(DataSource.class); final StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource); final ExpressionFactoryBean efb = new ExpressionFactoryBean("headers['stored_procedure_name']"); efb.afterPropertiesSet();/*www .j a v a2s.co m*/ final Expression expression = efb.getObject(); storedProcExecutor.setStoredProcedureNameExpression(expression); storedProcExecutor.setBeanFactory(mock(BeanFactory.class)); storedProcExecutor.afterPropertiesSet(); this.mockTheOperationsCache(storedProcExecutor); //This should work storedProcExecutor.executeStoredProcedure( MessageBuilder.withPayload("test").setHeader("stored_procedure_name", "123").build()); //This should cause an exception try { storedProcExecutor.executeStoredProcedure( MessageBuilder.withPayload("test").setHeader("some_other_header", "123").build()); } catch (IllegalArgumentException e) { assertEquals( "Unable to resolve Stored Procedure/Function name for the provided Expression 'headers['stored_procedure_name']'.", e.getMessage()); return; } fail("IllegalArgumentException expected."); }
From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java
@Test public void testStoredProcExecutorJdbcCallOperationsCache() throws Exception { final DataSource datasource = mock(DataSource.class); final StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource); final ExpressionFactoryBean efb = new ExpressionFactoryBean("headers['stored_procedure_name']"); efb.afterPropertiesSet();// w w w.j a v a 2s.c o m final Expression expression = efb.getObject(); storedProcExecutor.setStoredProcedureNameExpression(expression); storedProcExecutor.setBeanFactory(mock(BeanFactory.class)); storedProcExecutor.afterPropertiesSet(); this.mockTheOperationsCache(storedProcExecutor); for (int i = 1; i <= 3; i++) { storedProcExecutor.executeStoredProcedure( MessageBuilder.withPayload("test").setHeader("stored_procedure_name", "123").build()); } final CacheStats stats = (CacheStats) storedProcExecutor.getJdbcCallOperationsCacheStatistics(); LOGGER.info(stats); LOGGER.info(stats.totalLoadTime() / 1000 / 1000); assertEquals(stats.hitCount(), 2); assertEquals(stats.missCount(), 1); assertEquals(stats.loadCount(), 1); }
From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java
@Test public void testSetJdbcCallOperationsCacheSize() throws Exception { final DataSource datasource = mock(DataSource.class); final StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource); storedProcExecutor.setJdbcCallOperationsCacheSize(0); final ExpressionFactoryBean efb = new ExpressionFactoryBean("headers['stored_procedure_name']"); efb.afterPropertiesSet();/* w w w. j ava2 s. c o m*/ final Expression expression = efb.getObject(); storedProcExecutor.setStoredProcedureNameExpression(expression); storedProcExecutor.setBeanFactory(mock(BeanFactory.class)); storedProcExecutor.afterPropertiesSet(); this.mockTheOperationsCache(storedProcExecutor); for (int i = 1; i <= 10; i++) { storedProcExecutor.executeStoredProcedure( MessageBuilder.withPayload("test").setHeader("stored_procedure_name", "123").build()); } final CacheStats stats = (CacheStats) storedProcExecutor.getJdbcCallOperationsCacheStatistics(); LOGGER.info(stats); assertEquals("Expected a cache misscount of 10", 10, stats.missCount()); }