Skip to content
Snippets Groups Projects
Commit 6d0501c6 authored by Tor-Einar Skog's avatar Tor-Einar Skog
Browse files

Added flywaydb migration tool

parent c38735b7
No related branches found
No related tags found
No related merge requests found
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
<artifactId>cdm</artifactId> <artifactId>cdm</artifactId>
<version>4.6.10</version> <version>4.6.10</version>
</dependency> </dependency>
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>4.2.0</version>
</dependency>
<dependency> <dependency>
<groupId>com.github.bjornharrtell</groupId> <groupId>com.github.bjornharrtell</groupId>
<!--groupId>org.wololo</groupId--> <!--groupId>org.wololo</groupId-->
......
...@@ -599,6 +599,7 @@ public class ForecastBean { ...@@ -599,6 +599,7 @@ public class ForecastBean {
if(resp.getStatus() == Response.Status.OK.getStatusCode()) if(resp.getStatus() == Response.Status.OK.getStatusCode())
{ {
List<Result> results = (List<Result>) resp.readEntity(new GenericType<List<Result>>(){}); List<Result> results = (List<Result>) resp.readEntity(new GenericType<List<Result>>(){});
System.out.println("ForecastConfigId=" + forecastConfiguration.getForecastConfigurationId() + ", resultsize=" + results.size());
// We delete all former results before we store the new ones // We delete all former results before we store the new ones
SessionControllerGetter.getForecastBean().storeResults(forecastConfiguration,results); SessionControllerGetter.getForecastBean().storeResults(forecastConfiguration,results);
} }
......
...@@ -19,8 +19,11 @@ ...@@ -19,8 +19,11 @@
package no.nibio.vips.logic.startup; package no.nibio.vips.logic.startup;
import javax.annotation.Resource;
import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextEvent;
import javax.sql.DataSource;
import no.nibio.vips.logic.util.SessionControllerGetter; import no.nibio.vips.logic.util.SessionControllerGetter;
import org.flywaydb.core.Flyway;
/** /**
* This class is created and method contextInitialized called when the application * This class is created and method contextInitialized called when the application
...@@ -31,7 +34,8 @@ import no.nibio.vips.logic.util.SessionControllerGetter; ...@@ -31,7 +34,8 @@ import no.nibio.vips.logic.util.SessionControllerGetter;
*/ */
public class StartupListener implements javax.servlet.ServletContextListener{ public class StartupListener implements javax.servlet.ServletContextListener{
@Resource(lookup="java:/jboss/datasources/vipslogic")
DataSource vipslogicDS;
/** /**
* Called when the application * Called when the application
* is deployed (either at startup of application container or when redeploying the app) * is deployed (either at startup of application container or when redeploying the app)
...@@ -40,13 +44,25 @@ public class StartupListener implements javax.servlet.ServletContextListener{ ...@@ -40,13 +44,25 @@ public class StartupListener implements javax.servlet.ServletContextListener{
@Override @Override
public void contextInitialized(ServletContextEvent sce) { public void contextInitialized(ServletContextEvent sce) {
System.out.println("VIPSLogic system initializing"); System.out.println("VIPSLogic system initializing");
System.out.println("VIPSLogic checking for database migrations");
// Migrate DB on startup using flywaydb.org
Flyway flyway = new Flyway();
flyway.setDataSource(vipslogicDS);
flyway.migrate();
SessionControllerGetter.getSchedulingBean().initSystemScheduler(); SessionControllerGetter.getSchedulingBean().initSystemScheduler();
if(System.getProperty("no.nibio.vips.logic.START_SCHEDULING_ON_BOOT").equals("true")) if(System.getProperty("no.nibio.vips.logic.START_SCHEDULING_ON_BOOT").equals("true"))
{ {
System.out.println("VIPSLogic starting scheduling services");
SessionControllerGetter.getSchedulingBean().startSystemScheduler(); SessionControllerGetter.getSchedulingBean().startSystemScheduler();
} }
else
{
System.out.println("VIPSLogic scheduling services configured NOT to start.");
}
} }
/** /**
* Called when the web app is closed * Called when the web app is closed
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment