[JBoss AS Development] - Re: Graceful Shutdown
by emuckenhuber
"bstansberry(a)jboss.com" wrote : Could the deployment of the acceptor be part of the deployment of the service? It's just a separate MC bean that depends on the core service.
|
| That eliminates the issue of deployment phases.
Yeah i thought it's just a MC bean with an install callback :) It's just a question when this bean gets deployed. Basically there is no way we can eliminate deployment phases - where at the moment each Profile represents a deployment phase (mainDeployer.process()).
Just think what would happen if you move the "TomcatService" into the 'web.deployer'. This would start the connectors/acceptors/endpoints before even looking at what's in 'deploy'. Which means that the acceptor would be available, but without any web app installed. The same would happen if we have multiple smaller profile description.
Although this is not specific to graceful shutdown it could affect it depending on the way you signal the acceptors to gracefully stop. If the "central management bean" is called to signal the shutdown, before we actually stop AS then it could work. Otherwise the same would happen - we undeploy all user applications, before undeploying the acceptor deployment.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4267448#4267448
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4267448
15 years, 1 month
[JBoss AS Development] - Re: Graceful Shutdown
by jason.greene@jboss.com
"ALRubinger" wrote : "jason.greene(a)jboss.com" wrote : Let me give an example. Someone defines a service A, which supports remote invocation. There is no dependency between service A and the EJB container (Service B), because it doesn't make sense (they have nothing to do with each other). Then instance SFSB Foo of Service B *dynamically* decides to call service A during an invocation. Then during "graceful" shutdown, service A is stopped first.
|
| Haha, that's exactly my point. There's a missing dependency between B->A. B requires A to function correctly, regardless of whether its a dynamic thing or something we support w/ injection. So if they're deployed in the same container/cluster, I'd expect there to be an explicit dep declared.
|
| For what use case is this not possible?
|
The one I described, jmx-console. You dont know what is going to be invoked until someone clicks on something.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4267426#4267426
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4267426
15 years, 1 month
[JBoss AS Development] - Re: Graceful Shutdown
by ALRubinger
"jason.greene(a)jboss.com" wrote : Let me give an example. Someone defines a service A, which supports remote invocation. There is no dependency between service A and the EJB container (Service B), because it doesn't make sense (they have nothing to do with each other). Then instance SFSB Foo of Service B *dynamically* decides to call service A during an invocation. Then during "graceful" shutdown, service A is stopped first.
Haha, that's exactly my point. There's a missing dependency between B->A. B requires A to function correctly, regardless of whether its a dynamic thing or something we support w/ injection. So if they're deployed in the same container/cluster, I'd expect there to be an explicit dep declared.
For what use case is this not possible?
S,
ALR
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4267424#4267424
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4267424
15 years, 1 month
[JBoss AS Development] - Re: Graceful Shutdown
by jason.greene@jboss.com
"ALRubinger" wrote : "jason.greene(a)jboss.com" wrote : MC dependencies don't make sense in this case. MC deps are internal service implementation details, and don't necessarily reflect the current runtime behavior. Graceful shutdown is all about the enclosing request (or transaction).
|
| If the MC deps don't represent the current runtime, it's wired up incorrectly and works by luck. To get graceful shutdown means to shut the runtime down in order such that no request/session gets orphaned in the process.
|
Let me give an example. Someone defines a service A, which supports remote invocation. There is no dependency between service A and the EJB container (Service B), because it doesn't make sense (they have nothing to do with each other). Then instance SFSB Foo of Service B *dynamically* decides to call service A during an invocation. Then during "graceful" shutdown, service A is stopped first.
The point is that runtime callflow is orthoginal to service dependencies.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4267421#4267421
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4267421
15 years, 1 month