It is possible to provide extra logic to be executed at Registry startup, by making contributions to the RegistryStartup service configuration.
...
Here's an example of a module that makes a contribution:
Code Block |
---|
|
public class MyModule
{
public static void contributeRegistryStartup(OrderedConfiguration<Runnable> configuration)
{
configuration.add("MyContributionName", new Runnable() { ... });
}
} |
Generally, these contributions are in the form of inner classes; if they were services, they could just be eagerly loaded.
...
Instead of making contributions to the RegistryStartup service configuration you can provide startup methods inside your modules. A startup method is a static or instance method of a module annotated with @
Startup annotation. Each module is allowed to contain several startup methods.
Code Block |
---|
|
public class MyModule
{
@Startup
public static void initMyApplication(Logger logger, MyService service)
{
logger.info("Starting up...");
service.init();
}
}
|