List of usage examples for org.springframework.integration.jdbc JdbcPollingChannelAdapter JdbcPollingChannelAdapter
public JdbcPollingChannelAdapter(JdbcOperations jdbcOperations, String selectQuery)
From source file:org.springframework.integration.jdbc.JdbcPollingChannelAdapterIntegrationTests.java
@Test public void testSimplePollForListOfMapsNoUpdate() { JdbcPollingChannelAdapter adapter = new JdbcPollingChannelAdapter(this.embeddedDatabase, "select * from item"); this.jdbcTemplate.update("insert into item values(1,2)"); Message<Object> message = adapter.receive(); Object payload = message.getPayload(); assertTrue("Wrong payload type", payload instanceof List<?>); List<?> rows = (List<?>) payload; assertEquals("Wrong number of elements", 1, rows.size()); assertTrue("Returned row not a map", rows.get(0) instanceof Map<?, ?>); Map<?, ?> row = (Map<?, ?>) rows.get(0); assertEquals("Wrong id", 1, row.get("id")); assertEquals("Wrong status", 2, row.get("status")); }
From source file:org.springframework.integration.jdbc.JdbcPollingChannelAdapterIntegrationTests.java
@Test public void testParameterizedPollForListOfMapsNoUpdate() { JdbcPollingChannelAdapter adapter = new JdbcPollingChannelAdapter(this.embeddedDatabase, "select * from item where status=:status"); adapter.setSelectSqlParameterSource(new SqlParameterSource() { public boolean hasValue(String name) { return "status".equals(name); }/*from w w w. jav a 2 s. co m*/ public Object getValue(String name) throws IllegalArgumentException { return 2; } public String getTypeName(String name) { return null; } public int getSqlType(String name) { return Types.INTEGER; } }); this.jdbcTemplate.update("insert into item values(1,2)"); Message<Object> message = adapter.receive(); Object payload = message.getPayload(); assertTrue("Wrong payload type", payload instanceof List<?>); List<?> rows = (List<?>) payload; assertEquals("Wrong number of elements", 1, rows.size()); assertTrue("Returned row not a map", rows.get(0) instanceof Map<?, ?>); Map<?, ?> row = (Map<?, ?>) rows.get(0); assertEquals("Wrong id", 1, row.get("id")); assertEquals("Wrong status", 2, row.get("status")); }
From source file:org.springframework.integration.jdbc.JdbcPollingChannelAdapterIntegrationTests.java
@Test public void testSimplePollForListWithRowMapperNoUpdate() { JdbcPollingChannelAdapter adapter = new JdbcPollingChannelAdapter(this.embeddedDatabase, "select * from item"); adapter.setRowMapper(new ItemRowMapper()); this.jdbcTemplate.update("insert into item values(1,2)"); Message<Object> message = adapter.receive(); Object payload = message.getPayload(); List<?> rows = (List<?>) payload; assertEquals("Wrong number of elements", 1, rows.size()); assertTrue("Wrong payload type", rows.get(0) instanceof Item); Item item = (Item) rows.get(0);/*from w ww . j a va 2 s. c o m*/ assertEquals("Wrong id", 1, item.getId()); assertEquals("Wrong status", 2, item.getStatus()); }
From source file:org.springframework.integration.jdbc.JdbcPollingChannelAdapterIntegrationTests.java
@Test public void testSimplePollForListWithRowMapperAndOneUpdate() { JdbcPollingChannelAdapter adapter = new JdbcPollingChannelAdapter(this.embeddedDatabase, "select * from item where status=2"); adapter.setUpdateSql("update item set status = 10 where id in (:id)"); adapter.setRowMapper(new ItemRowMapper()); adapter.setBeanFactory(mock(BeanFactory.class)); adapter.afterPropertiesSet();/* ww w . ja v a 2s.c om*/ this.jdbcTemplate.update("insert into item values(1,2)"); this.jdbcTemplate.update("insert into item values(2,2)"); Message<Object> message = adapter.receive(); Object payload = message.getPayload(); List<?> rows = (List<?>) payload; assertEquals("Wrong number of elements", 2, rows.size()); assertTrue("Wrong payload type", rows.get(0) instanceof Item); Item item = (Item) rows.get(0); assertEquals("Wrong id", 1, item.getId()); assertEquals("Wrong status", 2, item.getStatus()); int countOfStatusTwo = this.jdbcTemplate.queryForInt("select count(*) from item where status = 2"); assertEquals("Status not updated incorect number of rows with status 2", 0, countOfStatusTwo); int countOfStatusTen = this.jdbcTemplate.queryForInt("select count(*) from item where status = 10"); assertEquals("Status not updated incorect number of rows with status 10", 2, countOfStatusTen); }
From source file:org.springframework.integration.jdbc.JdbcPollingChannelAdapterIntegrationTests.java
@Test public void testSimplePollForListWithRowMapperAndUpdatePerRow() { JdbcPollingChannelAdapter adapter = new JdbcPollingChannelAdapter(this.embeddedDatabase, "select * from item where status=2"); adapter.setUpdateSql("update item set status = 10 where id = :id"); adapter.setUpdatePerRow(true);/*w ww . ja va2 s . c om*/ adapter.setRowMapper(new ItemRowMapper()); adapter.setBeanFactory(mock(BeanFactory.class)); adapter.afterPropertiesSet(); this.jdbcTemplate.update("insert into item values(1,2)"); this.jdbcTemplate.update("insert into item values(2,2)"); Message<Object> message = adapter.receive(); Object payload = message.getPayload(); List<?> rows = (List<?>) payload; assertEquals("Wrong number of elements", 2, rows.size()); assertTrue("Wrong payload type", rows.get(0) instanceof Item); Item item = (Item) rows.get(0); assertEquals("Wrong id", 1, item.getId()); assertEquals("Wrong status", 2, item.getStatus()); int countOfStatusTwo = this.jdbcTemplate.queryForInt("select count(*) from item where status = 2"); assertEquals("Status not updated incorect number of rows with status 2", 0, countOfStatusTwo); int countOfStatusTen = this.jdbcTemplate.queryForInt("select count(*) from item where status = 10"); assertEquals("Status not updated incorect number of rows with status 10", 2, countOfStatusTen); }
From source file:org.springframework.integration.jdbc.JdbcPollingChannelAdapterIntegrationTests.java
@Test public void testSimplePollForListWithRowMapperAndInsertPerRowAndMaxRows() { JdbcPollingChannelAdapter adapter = new JdbcPollingChannelAdapter(this.embeddedDatabase, "select * from item where id not in (select id from copy)"); adapter.setUpdateSql("insert into copy values(:id,10)"); adapter.setUpdatePerRow(true);/*from www . j a v a 2 s .c o m*/ adapter.setMaxRowsPerPoll(1); adapter.setRowMapper(new ItemRowMapper()); adapter.setBeanFactory(mock(BeanFactory.class)); adapter.afterPropertiesSet(); this.jdbcTemplate.update("insert into item values(1,2)"); this.jdbcTemplate.update("insert into item values(2,2)"); logger.debug(adapter.receive()); Message<Object> message = adapter.receive(); Object payload = message.getPayload(); List<?> rows = (List<?>) payload; assertEquals("Wrong number of elements", 1, rows.size()); assertTrue("Wrong payload type", rows.get(0) instanceof Item); Item item = (Item) rows.get(0); logger.debug(item); assertEquals("Wrong id", 2, item.getId()); assertEquals("Wrong status", 2, item.getStatus()); int countOfStatusTwo = this.jdbcTemplate.queryForInt("select count(*) from item where status = 2"); assertEquals("Status not updated incorect number of rows with status 2", 2, countOfStatusTwo); int countOfStatusTen = this.jdbcTemplate.queryForInt("select count(*) from copy where status = 10"); assertEquals("Status not updated incorect number of rows with status 10", 2, countOfStatusTen); }
From source file:org.springframework.integration.jdbc.JdbcPollingChannelAdapterIntegrationTests.java
@Test public void testSimplePollForListWithRowMapperAndUpdatePerRowWithMaxRows() { JdbcPollingChannelAdapter adapter = new JdbcPollingChannelAdapter(this.embeddedDatabase, "select * from item where status=2"); adapter.setUpdateSql("update item set status = 10 where id = :id"); adapter.setUpdatePerRow(true);//from w ww.j ava 2 s . com adapter.setMaxRowsPerPoll(1); adapter.setRowMapper(new ItemRowMapper()); adapter.setBeanFactory(mock(BeanFactory.class)); adapter.afterPropertiesSet(); this.jdbcTemplate.update("insert into item values(1,2)"); this.jdbcTemplate.update("insert into item values(2,2)"); adapter.receive(); Message<Object> message = adapter.receive(); Object payload = message.getPayload(); List<?> rows = (List<?>) payload; assertEquals("Wrong number of elements", 1, rows.size()); assertTrue("Wrong payload type", rows.get(0) instanceof Item); Item item = (Item) rows.get(0); assertEquals("Wrong id", 2, item.getId()); assertEquals("Wrong status", 2, item.getStatus()); int countOfStatusTwo = this.jdbcTemplate.queryForInt("select count(*) from item where status = 2"); assertEquals("Status not updated incorect number of rows with status 2", 0, countOfStatusTwo); int countOfStatusTen = this.jdbcTemplate.queryForInt("select count(*) from item where status = 10"); assertEquals("Status not updated incorect number of rows with status 10", 2, countOfStatusTen); }
From source file:org.springframework.integration.jdbc.JdbcPollingChannelAdapterIntegrationTests.java
@Test public void testEmptyPoll() { JdbcPollingChannelAdapter adapter = new JdbcPollingChannelAdapter(this.embeddedDatabase, "select * from item"); Message<Object> message = adapter.receive(); assertNull("Message received when no rows in table", message); }