[gatein-dev] RepositoryContainer as the first thing to stop during shutdown
Juraci Paixão Kröhling
jcosta at redhat.com
Fri Nov 8 07:22:43 EST 2013
All,
I'm currently working on GTNPORTAL-3281 [1], and I have a question.
The WARN message on the logs occurs during the shutdown of the server,
when the method WSRPServiceIntegration.stop() is called. During this
stop() method, both producer and consumers are then requested to be
stopped, but the configuration for the producer and the list of
consumers requires access to the workspace, which is already shut down,
as RepositoryContainer is stopped before WSRPServiceIntegration.
While stopping the producer is possible without requesting the workspace
to be active, shutting down the consumers currently require a fresh list
of consumers, which in turn requires access to the workspace.
When looking into why WSRPServiceIntegration is stopped after
RepositoryContainer, I noticed that the list of services to start during
the boot contains 36 items, while the shutdown contains 37. The
difference is exactly the RepositoryContainer.
So, does anyone knows if it is appropriate for RepositoryContainer to be
stopped before everything else, including WSRPServiceIntegration? If
not, I would then look for the place where RepositoryContainer is added
and add it to the head of the list, instead of appending it (this means
that RepositoryContainer will be the last thing to be stopped, instead
of the first, as it currently is).
If RepositoryContainer should indeed be the first thing to be shut down,
then the solution that I can see is to get the cached list of consumers,
instead of getting a fresh one. This should remove the requirement of
the workspace to exist during the shutdown of WSRPServiceIntegration.
1 - https://issues.jboss.org/browse/GTNPORTAL-3281
Thanks!
Juca.
More information about the gatein-dev
mailing list