From 99b97890393dee43834b9e2490b0db25a431ddb0 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Wed, 8 Apr 2015 09:36:01 +0000 Subject: [PATCH] git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/vre-management/smart-executor@113890 82a268e6-3cf1-43bd-a215-b396298e98cf --- deployWithGenericWorker.sh | 20 +++++++++++++++++++ .../executor/SmartContextServletListener.java | 6 ++++-- .../executor/SmartExecutorInitalizator.java | 4 +++- .../executor/pluginmanager/PluginManager.java | 11 +++++++--- 4 files changed, 35 insertions(+), 6 deletions(-) create mode 100755 deployWithGenericWorker.sh diff --git a/deployWithGenericWorker.sh b/deployWithGenericWorker.sh new file mode 100755 index 0000000..2bba3a7 --- /dev/null +++ b/deployWithGenericWorker.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +/home/lucafrosini/workspace/runtime/tomcat/bin/shutdown.sh -force + +mvn clean install -DskipTests=true + +rm -rf $CATALINA_HOME/webapps/smart-executor* + +cp ./target/smart-executor.war $CATALINA_HOME/webapps/ + +mkdir $CATALINA_HOME/webapps/smart-executor + +unzip $CATALINA_HOME/webapps/smart-executor.war -d $CATALINA_HOME//webapps/smart-executor + +cp /home/lucafrosini/.m2/repository/org/acme/HelloWorldPlugin/1.0.0-SNAPSHOT/HelloWorldPlugin-1.0.0-SNAPSHOT.jar $CATALINA_HOME/webapps/smart-executor/WEB-INF/lib/ +cp /home/lucafrosini/.m2/repository/org/gcube/dataanalysis/smart-generic-worker/1.0.0-SNAPSHOT/smart-generic-worker-1.0.0-SNAPSHOT-jar-with-dependencies.jar $CATALINA_HOME/webapps/smart-executor/WEB-INF/lib/ + +sleep 3s + +/home/lucafrosini/workspace/runtime/tomcat/bin/startup.sh diff --git a/src/main/java/org/gcube/vremanagement/executor/SmartContextServletListener.java b/src/main/java/org/gcube/vremanagement/executor/SmartContextServletListener.java index c17e324..3f48716 100644 --- a/src/main/java/org/gcube/vremanagement/executor/SmartContextServletListener.java +++ b/src/main/java/org/gcube/vremanagement/executor/SmartContextServletListener.java @@ -3,6 +3,8 @@ */ package org.gcube.vremanagement.executor; +import java.util.List; + import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; @@ -13,7 +15,6 @@ import org.slf4j.LoggerFactory; /** * @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/ - * */ public class SmartContextServletListener implements ServletContextListener { @@ -35,7 +36,8 @@ public class SmartContextServletListener implements ServletContextListener { ApplicationContext ctx = ContextProvider.get(); logger.debug(String.format("ApplicationContext %s", ctx)); if(ctx!=null){ - SmartExecutorInitalizator.getScopes(ctx); + List scopes = SmartExecutorInitalizator.getScopes(ctx); + logger.debug(String.format("Scopes %s", scopes)); } } diff --git a/src/main/java/org/gcube/vremanagement/executor/SmartExecutorInitalizator.java b/src/main/java/org/gcube/vremanagement/executor/SmartExecutorInitalizator.java index 1e26354..99ca4a5 100644 --- a/src/main/java/org/gcube/vremanagement/executor/SmartExecutorInitalizator.java +++ b/src/main/java/org/gcube/vremanagement/executor/SmartExecutorInitalizator.java @@ -356,7 +356,9 @@ public class SmartExecutorInitalizator extends ApplicationLifecycleHandler { } try { - jdbcPersistenceConnector = new JDBCPersistenceConnector(ctx.persistence().location()); + if(jdbcPersistenceConnector == null){ + jdbcPersistenceConnector = new JDBCPersistenceConnector(ctx.persistence().location()); + } } catch (Exception e) { logger.error("Unable to initialize PersistenceConnector. The Service will be aborted", e); return; diff --git a/src/main/java/org/gcube/vremanagement/executor/pluginmanager/PluginManager.java b/src/main/java/org/gcube/vremanagement/executor/pluginmanager/PluginManager.java index 5e391fd..c8fe81b 100644 --- a/src/main/java/org/gcube/vremanagement/executor/pluginmanager/PluginManager.java +++ b/src/main/java/org/gcube/vremanagement/executor/pluginmanager/PluginManager.java @@ -54,9 +54,14 @@ public class PluginManager { this.availablePlugins = new HashMap(); ServiceLoader serviceLoader = ServiceLoader.load(PluginDeclaration.class); for (PluginDeclaration pluginDeclaration : serviceLoader) { - logger.debug(String.format("%s plugin found", pluginDeclaration.getName())); - String name = pluginDeclaration.getName(); - this.availablePlugins.put(name, pluginDeclaration); + try { + logger.debug(String.format("%s plugin found", pluginDeclaration.getName())); + pluginDeclaration.init(); + String name = pluginDeclaration.getName(); + this.availablePlugins.put(name, pluginDeclaration); + } catch (Exception e) { + logger.debug(String.format("%s not initialized correctly. It will not be used", pluginDeclaration.getName())); + } } }