Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] Webapp development and AJ

It sounds like the issue here is that the incremental compiler is rebuilding
more often to avoid the (IMHO worse) problem whereby incremental builds were
incomplete or inconsistent. I think that's the *right* behavior, so it's
more a question of making it work well when running code on a server.

 

I would encourage you to use Eclipse 3.2 milestone builds with development
AJDT builds. I just switched from Eclipse 3.1.1 and have found that its
improved support for Java-like languages is a big step up. And it seems to
be a little better about incremental compilation too (maybe I'm just being
optimistic). I've found it more stable in working with AspectJ too, which
might help you Ron. When AJDT picks up a new AspectJ build, it will have
much reduced memory use (and I believe it will fix the old leaks that might
cause crashing)...

 

I also see that Hot Deploy fails when you do AspectJ rebuilds (as discussed
below). I'd like that to change. For now, though, I think the best options
are:

 

1)       rebuild manually: don't rely on the conservative incremental
compilation

2)       don't run your debug server from exploded classfiles: explicitly
deploy jars with changes. This way if your rebuilt project has a compatible
schema you can redeploy through hotswap. Eclipse will still work pretty well
in debugging your sources against the explicitly deployed classes.

 

At this time, load-time weaving will actually make hot swap harder, since
AspectJ load-time weaving doesn't support weaving hotswapped classes,
although hopefully it willin the future.

 

Re: hot deploy, I would really like for AspectJ to improve the stability of
generated method names. Does it even guarantee that compiling the same
sources in a different order would produce the same bytecode output? In the
same order? Java HotSwap implemenations are very sensitive to renamed
methods (method add/delete is not supported...) I've run into cases where
building 2 projects separately had issues but haven't had a few hours to
narrow it down to a simple test case. I think this would help a lot. I
believe this is the crux of your question: is there a way to rebuild with
small changes so you can hotswap in the changes instead of having the JVM
choke... I think this should be a priority for AspectJ development.

 

 

  _____  

From: aspectj-users-bounces@xxxxxxxxxxx
[mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Ron DiFrango
Sent: Thursday, March 09, 2006 6:50 AM
To: aspectj-users@xxxxxxxxxxx
Subject: RE: [aspectj-users] Webapp development and AJ

 

Alex,

 

It is funny you post this as I have similar problem.  I was just in the
process of typing up an email on the subject.  In my case, not only does Hot
Deploy not work, the build at times causes my Eclipse to crash all together.

 

As with your project, my aspects are "traditional" in the sense that I build
them at compile time.  

 

My setup is as follows:  I have Eclipse 3.1.1, MyEclipse 4.1.0 and AJDT
1.30.  I have a My Eclipse Web project with both Source & JSP's in it.  In
addition to source, I have 1 Jar that I have on the InPath as well for byte
code weaving.  I am using JBoss as the app server.

 

I would be happy to provide more details if necessary.

 

Ron

 

  _____  

From: aspectj-users-bounces@xxxxxxxxxxx on behalf of Alexandru Popescu
Sent: Thu 3/9/2006 9:19 AM
To: userAJ
Subject: [aspectj-users] Webapp development and AJ

Hi!

I am currently involved in developping some web app. Our system
contains a few aspects, written using the "classical" approach. We are
using as dev IDE: Eclipse and we set up thins quite nicely.
Unfortunately we are facing a problem with redeployments: AJ triggers
a build each  time we rebuild the project (even if we set the
incremental flag) and this forces in way to many cases the server
restart.

I would like to here what can be improved, so that we will need to
restart servers only in case of impossible hot deployment (which I
agree happens also quite a lot).

Some more details:
- some of the aspects are core aspects
- the aspects cannot be packages with the weaved classes in a jar,
because we are modifying/developping in those packages too

Please let me know if I can offer any other details. I really hope
there is a better approach to this issue (maybe LTW?).

many thanks in advance to any hints, ideas, help,

./alex
--
.w( the_mindstorm )p.
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users

<<attachment: winmail.dat>>


Back to the top