These are the two DB specific properties files that are loaded by their respective Spring profiles in dao-datasource-context.xml.
jdbc.driver.class=org.hsqldb.jdbcDriver jdbc.url=jdbc:hsqldb:mem:contact jdbc.username=sa jdbc.password= jdbc.initial.size=1 jdbc.min.idle=1 jdbc.max.idle=2 jdbc.max.active=4 jdbc.time.between.eviction=30000 jdbc.min.evictable.idle=60000 jdbc.validation.query.timeout=30000 jdbc.validation.query=select 1 from INFORMATION_SCHEMA.SYSTEM_USERS jpa.persistence.unit.name=hsql jpa.show.sql=false jpa.cache.use_second_level_cache=false
It is expected that the database is already initialzed before running the application. In the contact-app project there is a scripts directory that contains init-postgres.sh and reinit-postgres.sh. The first script will just create the DB, user, and schema. The second will drop the DB and user first, before creating everything.
Note | |
---|---|
DB Connection Pool min/max/idle/timeouts should be tuned for each application based on load testing. |
jdbc.driver.class=org.postgresql.Driver jdbc.url=jdbc:postgresql://localhost:5432/contact jdbc.username=contact jdbc.password=contact jdbc.initial.size=5 jdbc.min.idle=5 jdbc.max.idle=10 jdbc.max.active=20 jdbc.time.between.eviction=30000 jdbc.min.evictable.idle=60000 jdbc.validation.query.timeout=30000 jdbc.validation.query=select version() jpa.persistence.unit.name=postgresql jpa.show.sql=false jpa.cache.use_second_level_cache=true