I guess the startup could be different from case to case, but we could provide a way to register a runnable we run after deployment completed. More precisely a service using the asynchronous() feature of msc and registering a runnable which does something like:
public void run() {
try {
connector.start();
startContext.complete();
} catch (Throwable t) {
startContext.failed(new StartException(t));
}
}
public void run() {
try {
connector.start();
startContext.complete();
} catch (Exception e) {
startContext.failed(new StartException(e));
}
}