@Override public int commit(DefaultSqlEndpoint defaultSqlEndpoint, Exchange exchange, Object data, NamedParameterJdbcTemplate jdbcTemplate, SqlParameterSource parameterSource, String query) throws Exception { final SqlParameterSource param = new ElsqlSqlMapSource(exchange, data); final String sql = elSql.getSql(query, new SpringSqlParams(param)); LOG.debug("commit @{} using sql: {}", query, sql); return jdbcTemplate.execute(sql, param, new PreparedStatementCallback<Integer>() { @Override public Integer doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException { ps.execute(); int updateCount = ps.getUpdateCount(); if (LOG.isTraceEnabled()) { LOG.trace("Update count {}", updateCount); } return updateCount; } }); }
@Override public int commitBatchComplete(DefaultSqlEndpoint endpoint, NamedParameterJdbcTemplate namedJdbcTemplate, SqlParameterSource parameterSource, String query) throws Exception { final SqlParameterSource param = new EmptySqlParameterSource(); final String sql = elSql.getSql(query, new SpringSqlParams(param)); LOG.debug("commitBatchComplete @{} using sql: {}", query, sql); return namedJdbcTemplate.execute(sql, param, new PreparedStatementCallback<Integer>() { @Override public Integer doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException { ps.execute(); int updateCount = ps.getUpdateCount(); if (LOG.isTraceEnabled()) { LOG.trace("Update count {}", updateCount); } return updateCount; } }); }
final String sql = elSql.getSql(elSqlName, new SpringSqlParams(param)); LOG.debug("ElsqlProducer @{} using sql: {}", elSqlName, sql);
@Override public Consumer createConsumer(final Processor processor) throws Exception { final SqlProcessingStrategy proStrategy = new ElsqlSqlProcessingStrategy(elSql); final SqlPrepareStatementStrategy preStategy = new ElsqlSqlPrepareStatementStrategy(); final Exchange dummy = createExchange(); final SqlParameterSource param = new ElsqlSqlMapSource(dummy, null); final String sql = elSql.getSql(elsqlName, new SpringSqlParams(param)); LOG.debug("ElsqlConsumer @{} using sql: {}", elsqlName, sql); final ElsqlConsumer consumer = new ElsqlConsumer(this, processor, namedJdbcTemplate, sql, param, preStategy, proStrategy); consumer.setMaxMessagesPerPoll(getMaxMessagesPerPoll()); consumer.setOnConsume(getOnConsume()); consumer.setOnConsumeFailed(getOnConsumeFailed()); consumer.setOnConsumeBatchComplete(getOnConsumeBatchComplete()); consumer.setBreakBatchOnConsumeFail(isBreakBatchOnConsumeFail()); consumer.setExpectedUpdateCount(getExpectedUpdateCount()); consumer.setUseIterator(isUseIterator()); consumer.setRouteEmptyResultSet(isRouteEmptyResultSet()); configureConsumer(consumer); return consumer; }