diff --git a/datastore_server/dist/datastore_server.sh b/datastore_server/dist/datastore_server.sh index 13881cddcbca242928709b789677b2239fd6487c..31ccfae88467eac993b183b65995143e907fbc83 100755 --- a/datastore_server/dist/datastore_server.sh +++ b/datastore_server/dist/datastore_server.sh @@ -107,6 +107,8 @@ LOGFILE=log/datastore_server_log.txt STARTUPLOG=log/startup_log.txt SUCCESS_MSG="Data Store Server ready and waiting for data" LIB_FOLDER=lib +# contains custom libraries e.g. JDBC drivers for external databases +EXT_LIB_FOLDER=ext-lib MAX_LOOPS=10 # @@ -133,8 +135,8 @@ fi command=$1 ALL_JAVA_OPTS="-Djavax.net.ssl.trustStore=etc/openBIS.keystore -Dpython.path=lib/jython-lib $JAVA_OPTS" -# Build classpath from $LIB_FOLDER content. First JAR is datastore_server.jar because it has to appear before cifex.jar -CP=`echo $LIB_FOLDER/datastore_server.jar $LIB_FOLDER/*.jar | sed 's/ /:/g'` +# Build classpath from $LIB_FOLDER and $EXT_LIB_FOLDER content. First JAR is datastore_server.jar because it has to appear before cifex.jar +CP=`echo $LIB_FOLDER/datastore_server.jar $LIB_FOLDER/*.jar $EXT_LIB_FOLDER/*.jar | sed 's/ /:/g'` CMD="${JAVA_BIN} ${ALL_JAVA_OPTS} -classpath $CP ch.systemsx.cisd.openbis.dss.generic.DataStoreServer" diff --git a/datastore_server/dist/ext-lib/README.txt b/datastore_server/dist/ext-lib/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..5de7263704d3115b0b9b14ed5cd8abb93a44c8e1 --- /dev/null +++ b/datastore_server/dist/ext-lib/README.txt @@ -0,0 +1,11 @@ +This folder contains libraries (JAR files) that are not part of the standard +openBIS installation, but are needed for the normal work of the system. + +One good example for such libraries are JDBC drivers required to connect to +an external database (e.g. Oracle). + +Administrators are encouraged to copy the extension libraries here as they will +be kept by the openBIS upgrade scripts (as opposed to the contents of the 'lib' +folder which are wiped out after a software upgrade). + + \ No newline at end of file diff --git a/screening/dist/admin/backup-config.sh b/screening/dist/admin/backup-config.sh index d63cca1ec87a36f5ec71ff089517152b463ab79a..2d65840f653c33df8cc830893bedda958950f4be 100755 --- a/screening/dist/admin/backup-config.sh +++ b/screening/dist/admin/backup-config.sh @@ -37,5 +37,7 @@ cp $ROOT/datastore_server/etc/log.xml $CONF/dss-log.xml cp $ROOT/datastore_server/etc/datastore_server.conf $CONF/datastore_server.conf # not always present copyIfExists $ROOT/datastore_server/etc/openBIS.keystore $CONF/.keystore +copyIfExists $ROOT/datastore_server/ext-lib $CONF + # screening-specific cp $ROOT/datastore_server/etc/tabular-data-graph.properties $CONF/tabular-data-graph.properties diff --git a/screening/dist/admin/common-functions.sh b/screening/dist/admin/common-functions.sh index 2a00c32541f3467947bb8b624248fc0ba9860771..63283870d5c3ac02531765124462070f2c416700 100644 --- a/screening/dist/admin/common-functions.sh +++ b/screening/dist/admin/common-functions.sh @@ -37,6 +37,6 @@ executeScriptHooks() copyIfExists() { if [ -f "$1" ]; then - cp "$1" "$2" + cp -R "$1" "$2" fi } \ No newline at end of file diff --git a/screening/dist/admin/restore-config-from-backup.sh b/screening/dist/admin/restore-config-from-backup.sh index 23ea3ce139fa9602351121491f8d3f0289f5026a..9ef1fbef12a27be9c287fc2065cb1ca13d567b05 100755 --- a/screening/dist/admin/restore-config-from-backup.sh +++ b/screening/dist/admin/restore-config-from-backup.sh @@ -44,5 +44,7 @@ cp $CONF/dss-log.xml $ROOT/datastore_server/etc/log.xml cp $CONF/datastore_server.conf $ROOT/datastore_server/etc/ # not always present copyIfExists $CONF/.keystore $ROOT/datastore_server/etc/openBIS.keystore +copyIfExists $CONF/ext-lib $ROOT/datastore_server + # screening-specific cp $CONF/tabular-data-graph.properties $ROOT/datastore_server/etc/