[ 
https://issues.apache.org/jira/browse/GEODE-3944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16236357#comment-16236357
 ] 

Patrick Rhomberg commented on GEODE-3944:
-----------------------------------------

> You can catch exactly {{NoClassDefFoundError}} if you prefer.

Yes, my intended meaning was favor specificity over the generic {{Throwable}}, 
since the latter could catch problems that should indeed result in failure.

> BTW there is a lot of Throwable catching in your code. 

I'm aware.  I think those emit an unpleasant code smell as well.

> 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)

Reply via email to