[jboss-dev-forums] [JBoss AS7 Development] - Re: can I avoid a service to block as7 startup ?
Dan Sirbu
do-not-reply at jboss.com
Thu Oct 13 13:11:00 EDT 2011
Dan Sirbu [http://community.jboss.org/people/lmcdasi] created the discussion
"Re: can I avoid a service to block as7 startup ?"
To view the discussion, visit: http://community.jboss.org/message/631639#631639
--------------------------------------------------------------
Yes - I am trying to build a 'very' basic module loader. Instead of having multiple application from my collegues writing their own ME, I could have one ME handling different module startups - obviously with very basic or restricted type of service functionality (like no ejb support within, etc ...)
So, I think I have done that ok but it looks like I have some issues.
The problem must be around here :
SubsystemState:
#
**public** **static** ServiceController<SubsystemState> addService(ServiceTarget serviceTarget, Activation activation) { // activation is forced to eager
SubsystemState state = **new** SubsystemState(); // will this be the object that will be injected into the FrameworkBootstrapService ?!?
state.setActivation(activation);
#
ServiceBuilder<SubsystemState> builder = serviceTarget.addService(++SERVICE_NAME++, state); };
**protected** *void performBoottime(OperationContext context, ModelNode operation, ModelNode model, ServiceVerificationHandler verificationHandler, List<ServiceController<?>> newControllers) { context.addStep(**new** AbstractDeploymentChainStep() {
*
builder.setInitialMode(Mode.++ACTIVE++);
**return** builder.install()
SubsystemAdd:
** protected** **void** execute(DeploymentProcessorTarget processorTarget) {
// Add deployment dependency on the WAR/RAR/SAR applications
processorTarget.addDeploymentProcessor(Phase.
++ DEPENDENCIES++, Phase.++DEPENDENCIES_MODULE++, **new** DependencyProcessor());
}
}, OperationContext.Stage.
++RUNTIME++ );
ServiceTarget serviceTarget = context.getServiceTarget();
// Add the Subsystem State service - it will hold subsystem config. Activation is EAGER for both.
newControllers.add(SubsystemState.+addService+(serviceTarget, getActivationMode(operation)));
// Add the service - all modules will be handled via the service
newControllers.add(FrameworkBootstrapService.+addService+(serviceTarget, verificationHandler));
So, to me, it looks like I am doing the right stuff. BUT ......
##
}
FrameworkBootstrapService: - +dependency towards the SubsystemState added+.
*private
**
**public** **static** ServiceController<FrameworkBootstrapService> addService(**final** ServiceTarget target, **final** ServiceListener<Object>... listeners) {FrameworkBootstrapService service =
**new** FrameworkBootstrapService();ServiceBuilder<FrameworkBootstrapService> builder = target.addService(
++SERVICE_NAME++, service);builder.addDependency(SubsystemState.
++SERVICE_NAME++,SubsystemState.**class**, service.injectedSubsystemState);builder.addListener(listeners);
**return** builder.install();}
**final** InjectedValue<SubsystemState> injectedSubsystemState = **new** InjectedValue<SubsystemState>();*
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/631639#631639]
Start a new discussion in JBoss AS7 Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2225]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-dev-forums/attachments/20111013/cc2005c7/attachment.html
More information about the jboss-dev-forums
mailing list