JPPF Issue Tracker
star_faded.png
Please log in to bookmark issues
enhancement_small.png
OPEN  Enhancement JPPF-547  -  Improvements to the handling of jobs classpath
Posted Sep 13, 2018 - updated Sep 13, 2018
action_vote_minus_faded.png
0
Votes
action_vote_plus_faded.png
lolo4j (lolocohen) has been working on this issue since September 13, 2018 (09:04)
Issue details
  • Type of issue
    Enhancement
  • Status
     
    New
  • Assigned to
     lolo4j
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
  • Posted by
     lolo4j
  • Owned by
    Not owned by anyone
  • Category
    Core
  • Resolution
    Not determined
  • Priority
    Normal
  • Targetted for
    icon_milestones.png JPPF 6.0
Issue description
The SLA of each JPPF job has a classpath attribute which allows the job to transport a set of jar files to dynamically add to its classloader when it is executed on a node.

There are currently a number of problems with the classpath itself and with the way it is handled by the node:
  • classpath elements refer to a "local" and a "remote" location. The semantics here is confusing and we propose to use "source" and "target" locations instead
  • there is currently no way to avoid downloading jar files if they already exists on the file system. We should allow a flow to allow it, make it default to false to preserve the existing behavior as a default
  • the notion of "force classloader reset" isn't clear ly explained and does not work as documented. This shouid be fixed


Furthermore, we propose to add a new sample which uses the maven-resolver APIs to list all (transitive) dependencies of a set of input maven coordinates, and builds a job classpath from the list. Upon execution of the job, the node will download the dependencies and add them to the job's classloader's classpath, in particular using the MavenCentralLocation class defined from Enhancement JPPF-539 - Location API - Maven central location.