aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2013-06-17 20:43:06 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2013-06-17 20:43:06 +0200
commit6ab5741f811a4a2f6b5672811899f19a726786ec (patch)
tree58fe7a8197435c95fe2aeb8d845c256e74c6867a
parent86cf88c47df876824f273e9e2671c9fc561c69aa (diff)
downloadquartz-based-queue-6ab5741f811a4a2f6b5672811899f19a726786ec.tar.gz
quartz-based-queue-6ab5741f811a4a2f6b5672811899f19a726786ec.tar.bz2
quartz-based-queue-6ab5741f811a4a2f6b5672811899f19a726786ec.tar.xz
quartz-based-queue-6ab5741f811a4a2f6b5672811899f19a726786ec.zip
wip
-rw-r--r--src/test/java/io/trygvis/test/DbUtil.java8
-rw-r--r--src/test/java/io/trygvis/test/jdbc/AsyncConsumerExample.java6
-rwxr-xr-xsrc/test/java/io/trygvis/test/spring/TestConfig.java124
-rwxr-xr-xsrc/test/resources/logback.xml14
4 files changed, 18 insertions, 134 deletions
diff --git a/src/test/java/io/trygvis/test/DbUtil.java b/src/test/java/io/trygvis/test/DbUtil.java
index 46459b0..025442e 100644
--- a/src/test/java/io/trygvis/test/DbUtil.java
+++ b/src/test/java/io/trygvis/test/DbUtil.java
@@ -23,7 +23,7 @@ public class DbUtil {
return createDataSource(jdbcUrl, user, pass);
}
- public static DataSource createDataSource(String jdbcUrl, String username, String password) throws SQLException {
+ public static BoneCPDataSource createDataSource(String jdbcUrl, String username, String password) throws SQLException {
BoneCPDataSource ds = new BoneCPDataSource();
ds.setLogStatementsEnabled(true);
@@ -36,9 +36,9 @@ public class DbUtil {
ds.setDefaultAutoCommit(false);
ds.setIdleConnectionTestPeriodInSeconds(60);
ds.setIdleMaxAgeInSeconds(240);
- ds.setMaxConnectionsPerPartition(2);
- ds.setMinConnectionsPerPartition(0);
- ds.setPartitionCount(1);
+ ds.setMaxConnectionsPerPartition(4);
+ ds.setMinConnectionsPerPartition(2);
+ ds.setPartitionCount(2);
ds.setAcquireIncrement(1);
ds.setStatementsCacheSize(1000);
ds.setReleaseHelperThreads(1);
diff --git a/src/test/java/io/trygvis/test/jdbc/AsyncConsumerExample.java b/src/test/java/io/trygvis/test/jdbc/AsyncConsumerExample.java
index 361c2c5..5bcffe7 100644
--- a/src/test/java/io/trygvis/test/jdbc/AsyncConsumerExample.java
+++ b/src/test/java/io/trygvis/test/jdbc/AsyncConsumerExample.java
@@ -38,8 +38,6 @@ public class AsyncConsumerExample {
Long a = Long.valueOf(task.arguments.get(0));
Long b = Long.valueOf(task.arguments.get(1));
- System.out.println("a + b = " + a + " + " + b + " = " + (a + b));
-
return singletonList(newTask(outputName, new Date(), Long.toString(a + b)));
}
};
@@ -82,8 +80,8 @@ public class AsyncConsumerExample {
}, 1000, 1000);
long start = currentTimeMillis();
- controller.start(new ScheduledThreadPoolExecutor(1));
- Thread.sleep(5 * 1000);
+ controller.start(new ScheduledThreadPoolExecutor(4));
+ Thread.sleep(60 * 1000);
controller.stop();
long end = currentTimeMillis();
timer.cancel();
diff --git a/src/test/java/io/trygvis/test/spring/TestConfig.java b/src/test/java/io/trygvis/test/spring/TestConfig.java
index a1d95c0..4df8ce1 100755
--- a/src/test/java/io/trygvis/test/spring/TestConfig.java
+++ b/src/test/java/io/trygvis/test/spring/TestConfig.java
@@ -1,6 +1,7 @@
package io.trygvis.test.spring;
import com.jolbox.bonecp.BoneCPDataSource;
+import io.trygvis.test.DbUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
@@ -15,17 +16,16 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.transaction.support.TransactionTemplate;
import javax.sql.DataSource;
+import java.sql.SQLException;
@Configuration
@ComponentScan(basePackages = "io.trygvis")
@EnableTransactionManagement
-//@EnableJpaRepositories(basePackages = "io.trygvis.data")
public class TestConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() throws Exception {
return new PropertySourcesPlaceholderConfigurer() {{
-// setLocation(new UrlResource("file:environment.properties"));
setProperties(System.getProperties());
setLocalOverride(true);
}};
@@ -36,131 +36,15 @@ public class TestConfig {
return new JdbcTemplate(dataSource);
}
-// public SpringBeanJobFactory springBeanJobFactory() {
-// SpringBeanJobFactory factory = new SpringBeanJobFactory();
-// return factory;
-// }
-
-/*
- @Bean
- public SchedulerFactoryBean quartz(DataSource dataSource, PlatformTransactionManager transactionManager) {
- SchedulerFactoryBean bean = new SchedulerFactoryBean();
- bean.setApplicationContextSchedulerContextKey("applicationContext");
- bean.setDataSource(dataSource);
- bean.setTransactionManager(transactionManager);
-// bean.setJobFactory(new JobFactory() {
-// public Job newJob(TriggerFiredBundle bundle, Scheduler scheduler) throws SchedulerException {
-// Class<? extends Job> klass = bundle.getJobDetail().getJobClass();
-// }
-// });
-
- Properties quartzProperties = new Properties();
- quartzProperties.setProperty("org.quartz.scheduler.skipUpdateCheck", "true");
-// quartzProperties.setProperty("org.quartz.jobStore.selectWithLockSQL", "false");
- quartzProperties.setProperty("org.quartz.jobStore.driverDelegateClass", PostgreSQLDelegate.class.getName());
- quartzProperties.setProperty("org.quartz.scheduler.jmx.export", "true");
- bean.setQuartzProperties(quartzProperties);
- return bean;
- }
-*/
-
- // This turns out to be fairly useless as Spring won't register them automatically.
- // It's probably better to use @Scheduled/@Async instead
- /*
- @Bean(name = "my-job")
- public JobDetailFactoryBean myJobDetailBean() {
- JobDetailFactoryBean bean = new JobDetailFactoryBean();
- bean.setJobClass(MyJob.class);
- bean.setDurability(true);
-
- return bean;
- }
-
- @Bean
- public CronTriggerFactoryBean myJobTrigger(JobDetail jobDetail) {
- CronTriggerFactoryBean bean = new CronTriggerFactoryBean();
- bean.setName("my-trigger");
- bean.setBeanName("my-job");
- bean.setJobDetail(jobDetail);
- bean.setCronExpression("0/10 * * * * ?");
-
- return bean;
- }
- */
-
@Bean
public DataSource dataSource(@Value("${database.url}") String jdbcUrl,
@Value("${database.username}") String username,
- @Value("${database.password}") String password) {
- BoneCPDataSource ds = new BoneCPDataSource();
-
- ds.setLogStatementsEnabled(true);
-
- ds.setJdbcUrl(jdbcUrl);
- ds.setUsername(username);
- ds.setPassword(password);
+ @Value("${database.password}") String password) throws SQLException {
+ BoneCPDataSource ds = DbUtil.createDataSource(jdbcUrl, username, password);
- ds.setDefaultAutoCommit(false);
- ds.setIdleConnectionTestPeriodInSeconds(60);
- ds.setIdleMaxAgeInSeconds(240);
- ds.setMaxConnectionsPerPartition(40);
- ds.setMinConnectionsPerPartition(0);
- ds.setPartitionCount(1);
- ds.setAcquireIncrement(1);
- ds.setStatementsCacheSize(1000);
- ds.setReleaseHelperThreads(3);
- ds.setStatisticsEnabled(true);
return new TransactionAwareDataSourceProxy(new LazyConnectionDataSourceProxy(ds));
}
-/*
- @Bean
- public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource,
- @Value("${hibernate.hbm2ddl.auto}") String hbm2ddl,
- @Value("${hibernate.showSql:false}") boolean showSql,
- @Value("${hibernate.dialect}") String dialect) {
- LocalContainerEntityManagerFactoryBean x = new LocalContainerEntityManagerFactoryBean();
- x.setDataSource(dataSource);
- x.setJpaPropertyMap(createJpaMap(hbm2ddl, showSql, dialect));
- x.setPackagesToScan(Article.class.getPackage().getName());
- HibernatePersistence persistenceProvider = new HibernatePersistence();
- x.setPersistenceProvider(persistenceProvider);
- return x;
- }
-
- public static Map<String, Object> createJpaMap(String hbm2ddl, boolean showSql, String dialect) {
- Map<String, Object> map = new HashMap<>();
- map.put(HBM2DDL_AUTO, hbm2ddl);
- map.put(FORMAT_SQL, showSql);
- map.put(SHOW_SQL, showSql);
- map.put(USE_SQL_COMMENTS, showSql);
- map.put(GENERATE_STATISTICS, true);
- map.put(NAMING_STRATEGY, ImprovedNamingStrategy.class.getName());
-
- map.put(DEFAULT_CACHE_CONCURRENCY_STRATEGY, CacheConcurrencyStrategy.READ_WRITE.toString());
- map.put(CURRENT_SESSION_CONTEXT_CLASS, SpringSessionContext.class.getName());
-// map.put(CACHE_REGION_FACTORY, EhCacheRegionFactory.class.getName());
- map.put(USE_SECOND_LEVEL_CACHE, false);
- map.put(USE_QUERY_CACHE, false);
-// map.put(SHARED_CACHE_MODE, SharedCacheMode.ENABLE_SELECTIVE.toString());
-
- map.put(DIALECT, dialect);
- map.put("hibernate.temp.use_jdbc_metadata_defaults", "false");
-
- return map;
- }
-
- @Bean
- public SessionFactory sessionFactory(LocalContainerEntityManagerFactoryBean entityManagerFactory) {
- return ((HibernateEntityManagerFactory) entityManagerFactory.nativeEntityManagerFactory).getSessionFactory();
- }
-
- @Bean
- public JpaTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
- return new JpaTransactionManager(entityManagerFactory);
- }
-*/
-
@Bean
public PlatformTransactionManager transactionManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
diff --git a/src/test/resources/logback.xml b/src/test/resources/logback.xml
index 65b37a6..f6e0f47 100755
--- a/src/test/resources/logback.xml
+++ b/src/test/resources/logback.xml
@@ -1,19 +1,21 @@
<configuration debug="false">
- <logger name="io.trygvis" level="DEBUG"/>
-<!-- <logger name="org.springframework" level="INFO"/> -->
+ <logger name="io.trygvis" level="WARN"/>
+ <logger name="org.springframework" level="INFO"/>
+ <!--
<logger name="org.springframework" level="DEBUG"/>
-<!--
+ -->
+ <!--
<logger name="org.springframework.jdbc" level="INFO"/>
<logger name="org.springframework.jdbc.datasource.DataSourceTransactionManager" level="DEBUG"/>
<logger name="org.springframework.orm" level="INFO"/>
<logger name="org.springframework.transaction" level="DEBUG"/>
--->
+ -->
<logger name="org.hibernate" level="INFO"/>
<logger name="org.hibernate.SQL" level="INFO"/>
- <logger name="com.jolbox" level="DEBUG"/>
+ <logger name="com.jolbox" level="INFO"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
@@ -21,7 +23,7 @@
</encoder>
</appender>
- <root level="DEBUG">
+ <root level="INFO">
<appender-ref ref="STDOUT"/>
</root>
</configuration>