Feature #8557

Provide dataminer as a war file and not a zip one

Added by Andrea Dell'Amico over 2 years ago. Updated about 2 years ago.

Status:ClosedStart date:May 12, 2017
Priority:HighDue date:
Assignee:Lucio Lelii% Done:

100%

Category:data-analysis
Sprint:zz - Dataminer distribution
Milestones:
Duration:

Description

the dataminer distribution is actually a zip file, built by Gianpaolo Coro with a complex procedure.
A war should be better maintainable.

History

#1 Updated by Andrea Dell'Amico over 2 years ago

There's some progress already, partly discussed in another ticket. I'm copying it here:

*
The war distribution does not contain the algorithms, that must be downloaded separately.
Problem is, dataminer searches them in WEB-INF/lib only. @lucio.lelii@isti.cnr.it Is it possible to extend the classpath to find them outside the wps webapp directory or at least into a WEB-INF/lib subdirectory?

The first option would be the ideal one, so that we could use subversion to have the algorithms up to date and upgrade dataminer without reinstalling all the algorithms.

#7 Updated by Lucio Lelii 2 days ago

Comment Edit
adding the file $APP.xml with the following content:

reloadable="true">
<!-- http://tomcat.apache.org/tomcat-7.0-doc/config/context.html -->
virtualClasspath="/path/to/external/directory/with/jars"/>

in

CATALINA_BASE/conf/[enginename]/[hostname]/$APP.xml
It seems to work, but I need more tests to be sure.

*

#2 Updated by Andrea Dell'Amico over 2 years ago

A newer version of the catalina configuration:

<Context path="/wps"
         reloadable="true">
    <!-- http://tomcat.apache.org/tomcat-7.0-doc/config/context.html -->
    <Loader className="org.apache.catalina.loader.VirtualWebappLoader" searchVirtualFirst="true"
            virtualClasspath="/home/gcube/wps_algorithms/algorithms/*.jar"/>
    <JarScanner scanAllDirectories="true"/>

</Context>

#3 Updated by Lucio Lelii over 2 years ago

  • % Done changed from 0 to 60
  • Status changed from New to In Progress

#4 Updated by Andrea Dell'Amico over 2 years ago

The ansible playbook is ready, btw. If the variable dataminer_war_install is set to True, the war version of datamines is installed. With the algorithms in a separate directory, and the catalina configuration deployed.

#5 Updated by Lucio Lelii over 2 years ago

  • % Done changed from 60 to 100

In the new version of dataminer, with the context configuration, the algorithms are loaded from the external directory and dinamiccaly loaded in the classloader without any restart.

#6 Updated by Lucio Lelii over 2 years ago

  • Status changed from In Progress to Feedback

#7 Updated by Andrea Dell'Amico over 2 years ago

So the only missing part is the data transfer migration?

#8 Updated by Andrea Dell'Amico about 2 years ago

  • Status changed from Feedback to Closed

Also available in: Atom PDF