Gangmax Blog

An error has occurred in Atlassian Confluence

I got the following error page when using Atlassian Confluence version 5.5.6, which tells me several facts:

  1. Confluence is using Struts, String and Hibernate based on Java;

  2. Tomcat is used;

  3. The Java frameworks are really complex from the point of call stack view. This is the longest Java call stack(356) I have even seen.

Groovy closure gets MissingMethodException when accessing private methods in super class

I encounter the following problem today when using Groovy closure with class inheritance involved:

  1. The base class “BaseClass” has a protected method “doA”, in which it has a method invocation which takes a closure as argument. In that closure, a private method “doB” of “BaseClass” is used. This class works fine;

  2. Now a subclass of “BaseClass” is created as “SubClass”, it overrides “doA”. After some operations, it invokes “doA” in “BaseClass” as well. But at this moment, an “MissingMethodException” is thrown which complains “doB” cannot be found.