Last time I tried to give JRebel some love this issue made me drop it again (If 
I remember the situation correctly):

Imagine you are developing a new page "HomePage" which has a single component

public HomePage()
{
   add(new Label("foo", ...) {   });
}

later on add another component

public HomePage()
{
   add(new TextField("bar", ...) {   });
   add(new Label("foo", ...) {   });
}

--> JRebel throws a "SuperClassChangedError" when trying to replace HomePage$1

This also happens when you change a component type (e.g. Link --> 
BookmarkableLink) or in similar situations.

It's a known limitation (and no change in sight)

  http://www.zeroturnaround.com/forum/topic.php?id=875

:-(


Am 18.11.2010 um 15:19 schrieb Carl-Eric Menzel:

> On Thu, 18 Nov 2010 14:25:40 +0100
> Martijn Dashorst <martijn.dasho...@gmail.com> wrote:
> 
>> Relaxing the add() method has been proposed before (by Eelco). It is
>> not something new, and if it helps people using jrebel to improve
>> their productivity, that would be a great side effect.
> 
> I agree it would be a good side effect, but not a change worth doing
> just for the benefit of JRebel :) - only if the change adds something
> worthwhile on its own.
> 
> I just googled for Eelco's original proposal to give add() the
> semantics of addOrReplace(), since I didn't even know about that
> proposal.
> 
> I agree with what you say about "final" and the clear semantics of
> add() and addOrReplace(). I like the fact that with the current
> semantics I can choose whether I want to definitely add (and get an
> exception in case of a bug) or whether I want to, well, add or
> replace :-)
> 
> Usually I prefer a slight bit of additional typing over an
> ambiguous/unclear API.
> 
> Maybe someone who uses JRebel (I don't) can ask the JRebel guys about
> better support for this.
> 
> Carl-Eric
> www.wicketbuch.de

Reply via email to