diff options
Diffstat (limited to 'src/main/java/io/trygvis/spring/DefaultConfig.java')
-rw-r--r-- | src/main/java/io/trygvis/spring/DefaultConfig.java | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/main/java/io/trygvis/spring/DefaultConfig.java b/src/main/java/io/trygvis/spring/DefaultConfig.java index 68761f2..3ba28de 100644 --- a/src/main/java/io/trygvis/spring/DefaultConfig.java +++ b/src/main/java/io/trygvis/spring/DefaultConfig.java @@ -1,21 +1,31 @@ package io.trygvis.spring; import io.trygvis.async.AsyncService; +import io.trygvis.async.SqlEffectExecutor; import io.trygvis.queue.QueueService; +import io.trygvis.queue.QueueSystem; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.core.JdbcTemplate; +import javax.sql.DataSource; +import java.sql.SQLException; + @Configuration public class DefaultConfig { @Bean - public AsyncService asyncService(JdbcTemplate jdbcTemplate) { - return new SpringJdbcAsyncService(jdbcTemplate); + public QueueSystem queueSystem(DataSource ds) throws SQLException { + return QueueSystem.initialize(new SqlEffectExecutor(ds)); + } + + @Bean + public AsyncService asyncService(QueueSystem queueSystem, JdbcTemplate jdbcTemplate) { + return new SpringJdbcAsyncService(queueSystem, jdbcTemplate); } @Bean - public QueueService queueService(JdbcTemplate jdbcTemplate) { - return new SpringQueueService(jdbcTemplate); + public QueueService queueService(QueueSystem queueSystem, JdbcTemplate jdbcTemplate) { + return new SpringQueueService(queueSystem, jdbcTemplate); } } |