https://bz.apache.org/bugzilla/show_bug.cgi?id=58790

Philippe Mouawad <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]
                   |                            |om

--- Comment #2 from Philippe Mouawad <[email protected]> ---
(In reply to Sebb from comment #1)
> (In reply to Philippe Mouawad from comment #0)
> > Currently there is an issue in ActionRouter#getInstance()
> > It returns a partially initialized object so a fix would be to use a local
> > object and affect it :
> >     public static ActionRouter getInstance() {
> >         if (router == null) {
> >             synchronized (LOCK) {
> >                 if(router == null) {
> >                     ActionRouter router = new ActionRouter();
> >                     router.populateCommandMap();
> >                     ActionRouter.router = router;
> >                 }
> >             }
> >         }
> >         return router;
> >     }
> 
> Alternatively one could use the IODH idiom.
> 
> > 
> > But due to CheckDirty using getInstance() in its constructor to register
> > itself as a PreAction to ExitCommand, it leads to a StackoverflowError.
> 
> Not sure I follow this.
Try you will see
> 
> > Even without fixing this issue, it reveals an issue that could occur if a
> > Constructor of an AbstractCommand subclass uses ActionRouter.getInstance()

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to