[ https://issues.apache.org/jira/browse/HAMA-966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
JongYoon Lim updated HAMA-966: ------------------------------ Attachment: HAMA-966.patch > NioServerListener doesn't throw any exceptions. > ----------------------------------------------- > > Key: HAMA-966 > URL: https://issues.apache.org/jira/browse/HAMA-966 > Project: Hama > Issue Type: Bug > Components: bsp core > Affects Versions: 0.7.0 > Reporter: JongYoon Lim > Priority: Minor > Attachments: HAMA-966.patch > > > *NioServerListener* which extends *Thread* can't throw any exceptions because > it swallows them in *run()* as follows. > {code:java} > try { > // code for server bootstraping and binding > } catch (Exception e) { > e.printStackTrace(); > } > {code} > This results in that *startServer()* can't catch *BindException* and retry to > start the server recursively. There can be two options. > * Option 1. Use *Thread.UncaughtExceptionHandler*. > * Option 2. Make *NioServerListener* extend *Callable* and use *get()* of > *Future* to catch exceptions. > I think *Option 2* looks better because the code could be more intuitive. -- This message was sent by Atlassian JIRA (v6.3.4#6332)