[
https://issues.apache.org/jira/browse/GEODE-3944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16236312#comment-16236312
]
Vadim Lotarev commented on GEODE-3944:
--------------------------------------
[~prhomberg], {{Error}} is not always an unrecoverable problem (as in this
specific case, for example). You can catch exactly {{NoClassDefFoundError}} if
you prefer. BTW there is a lot of {{Throwable}} catching in your code. You can
use {{SystemFailure.checkFailure()}} in order to test whether VM is still
usable.
> Geode node is not able to start normally without spring-shell library anymore
> -----------------------------------------------------------------------------
>
> Key: GEODE-3944
> URL: https://issues.apache.org/jira/browse/GEODE-3944
> Project: Geode
> Issue Type: Bug
> Components: core, management
> Reporter: Vadim Lotarev
> Fix For: 1.3.0
>
>
> Starting from version 1.3.0 Geode cache is not able to start normally if
> spring-shell library is not available. This library is needed in order to
> implement gfsh commands and should not be required for any node. Everything
> worked just fine until new class {{OnlineCommandProcessor}} is introduced.
> Now, when attempt to create it failed (because of absence of spring-shell)
> {{java.lang.NoClassDefFoundError: org/springframework/shell/core/Parser}} is
> fired. This class is not an {{Exception}} so the following catch block is
> skipped and MemberMBean (as well as ManagementService) is not initialized as
> a result:
> {code}
> try {
> this.commandProcessor =
> new OnlineCommandProcessor(system.getProperties(),
> cache.getSecurityService());
> } catch (Exception e) {
> commandServiceInitError = e.getMessage();
> logger.info(LogMarker.CONFIG, "Command processor could not be
> initialized. {}",
> e.getMessage());
> }
> {code}
> Probably, the best fix would be to catch {{Throwable}} instead of
> {{Exception}}.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)