The fact is that the method getSupportedTypes() is never called ! (It's return a custom extension: ".myorg") I'm using 2.0. And even a call to PluginManager.addPackage(“com.myorg.mypackage”) doesn't works.
Clément On Thu, Jul 31, 2014 at 10:31 PM, Ralph Goers <[email protected]> wrote: > It also occurs to me that the plugin manager may not be finding the > plugin. If you are using 2.0 then I believe the annotation processor > should register the factory as a plugin automatically. If you are using an > older release you might have been required to call > PluginManager.addPackage(“com.myorg.mypackage”) to have the plugin manager > search for your plugin. > > Ralph > > On Jul 31, 2014, at 10:26 PM, Ralph Goers <[email protected]> > wrote: > > > Your annotations are correct. However, in the code snippet below you > don’t show what getSupportedTypes() returns. The generic > ConfigurationFactory inspects all the ConfigurationFactory plugins using > the order to determine which should be inspected first, second, etc. It > calls getSupportedTypes to find out what file extensions the > ConfigurationFactory handles. If the provided configuration file matches > one of the file extensions than that factory will be used. “*” is used as > a wildcard to specify that it handles any file extension (which is what the > XMLConfigurationFactory does). However, with an Order of 10 if you > specified a “*” I believe your factory would have to handle XML, JSON and > YAML configurations. > > > > I would suggest having getSupportedTypes return something like “.cfg” > and then having your configuration files end with .cfg. > > > > Ralph > > > > On Jul 31, 2014, at 6:18 PM, Clément Guillaume <[email protected]> > wrote: > > > >> Hi, > >> > >> I'm trying to use a custom ConfigurationFactory. I created and > annotated it > >> with a @Plugin and an @Order like this: > >> > >> @Plugin(category = "ConfigurationFactory", name = > >> "StartupConfigurationFactory") > >> @Order(10) > >> public class StartupConfigurationFactory extends ConfigurationFactory{ > >> ... > >> } > >> > >> But it is never loaded (none of the 2 methods are called). > >> > >> If I specify the system property "log4j.configurationFactory" with the > name > >> of my class before creating a logger, my factory is successfully loaded. > >> > >> Did I made a mistake declaring my ConfigurationFactory ? > >> > >> Clément > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
