Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ajdt-dev] Hot Code Replace and LTW with Kepler and AJDT 2.2.3

It can depend on what the aspect does as to whether you can reload the woven code. If the side effect of weaving is introducing new members or modifying the signature of existing members than that is a schema change and you won't be able to reload it. If, however, you were doing something like around advice and that advice was being inlined then changing the advice body shouldn't cause a schema change to the woven target class and it should reload just fine (just as if you changed a regular method body).

cheers,
Andy


On 17 October 2013 09:29, Thomas Hofmann <email@xxxxxxxxxxxxxxxxx> wrote:
Thanks Andrew,

I did not think it were Kepler specific. I just wanted to describe my environment ;)

Changing classes that are not woven works. 

I now resorted to a different approach not applying many aspects to the code that is under development and should have hot code replace working.

Thanks for answering.

Regards, Thomas




2013/10/17 Andrew Eisenberg <andrew@xxxxxxxxxxxx>
Hi Thomas,

AspectJ is not as good as pure Java at hot swapping.  If you are
running with load-time weaving and you edit a class that has an aspect
applied to it, then it is highly likely that you will not get hot
swapping to work.  If you edit a class that is not involved with any
aspects, then hot swapping should work as in Java.  I have not noticed
any difference when working in Kepler compared to other versions (and
I always launch my runtime workbenches with Equinox Weaving turned on
when working on AJDT).

Have you noticed a change compared to older versions of Eclipse?  A
difference in JDK would be more likely to affect things than Eclipse
version.

regards,
Andrew

ps- I'm not working for SpringSource any more so, I don't have much
time to work on AJDT these days.  Andy Clement will also be able to
look into problems.

On Wed, Oct 16, 2013 at 7:51 AM, Thomas Hofmann <email@xxxxxxxxxxxxxxxxx> wrote:
> Hi all,
>
> I am having trouble getting Hot Code Replace working in the debugger when my
> classes are woven with LTW.
>
> My setup is as follows:
>
> Eclipse Kepler 4.3.1
>
> and
>
> AJDT org.eclipse.ajdt_2.2.3.e43x-RELEASE-20130627-0800 which contains
> org.aspectj_1.7.3.20130613144500-a
>
> org.eclipse.equinox.weaving.sdk_1.0.200.I20130319-1000
>
> For compiler compliance settings I am using Java SE 1.7.
>
> I am developing an Kepler Eclipse RCP based application that makes use of
> Equinox Weaving.
>
> Every time a change something as simple as adding a new line in one of my
> classes I get an error about hot code replace not being possible. The
> details show the message "Scheme changed not implemented".
>
> I have searched google and found for example
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=120375. All the posts that I
> found make me believe that this should be working with a current version of
> AspectJ / AJDT.
>
> I am asking whether or not this is a supported scenario and if it is how I
> could determine what causes the problem in my setup.
>
> Andrew E. could you please comment on this too?
>
> Thanks for your attention.
>
> Regards, Thomas
>
>
>
> _______________________________________________
> ajdt-dev mailing list
> ajdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/ajdt-dev
>
_______________________________________________
ajdt-dev mailing list
ajdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ajdt-dev


_______________________________________________
ajdt-dev mailing list
ajdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ajdt-dev



Back to the top