cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrus Adamchik (JIRA)" <>
Subject [jira] [Created] (CAY-2166) Auto-loading of Cayenne modules
Date Sun, 11 Dec 2016 14:05:58 GMT
Andrus Adamchik created CAY-2166:

             Summary: Auto-loading of Cayenne modules
                 Key: CAY-2166
             Project: Cayenne
          Issue Type: Improvement
            Reporter: Andrus Adamchik
            Assignee: Andrus Adamchik

We need to borrow the central modularity feature from - module auto-loading based
on Java ServiceLoader:

1. Each module in Cayenne (or custom modules if a user so desires) will ship with "META-INF/services/org.apache.cayenne.di.spi.ModuleProvider"
file that  will contain the name of the provider class.

2. Provider will contain a factory method for the module, as well as a method that returns
a collection of modules that this module "overrides"

3. There will be a loader class that will load all providers via "java.util.ServiceLoader",
create modules for each provider and then sort them in the order of override dependencies.

4. ServerRuntimeBuilder will contain a method to turn auto-loading on and off. "on" will be
the default. 

This message was sent by Atlassian JIRA

View raw message