[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Problems with RCP Application using AspectJ and Spring

hello!

I have some problems getting an RCP application running with aspectj.
While it runs fine from within the IDE, I yet didn't manage it to make it
run when build using pde build.
Information about the application:
- one bundle with the aspect (and nothing else)
- one bundle with spring+aspectj jars
- several other bundles that make up the application, nothing special here
- we only use LTW, so  no aspectj-compiler involved

the aspect is configured using spring as we need to inject a property into
the aspect:

<bean id="lazyInitializationAspect" class=
"[some_packages].aspects.lazyinitialization.LazyInitAspect"
      factory-method="aspectOf">
      <property name="dbBaseDaoService" ref=
"[some_packages].db.services.impl.DBBaseDaoServices" />
</bean>

In order to make it run out-of-the-box from within the IDE I had to do the
usual tricks like adding the aspectj-hook and manually using the
<configurations> part of the product to set run levels for plugins, but
then it worked which shows me, that all the really basic stuff
seems to be correct :-)

So, the problem I encounter is probably a mix of several issues, which I
try to explain to my best here and hope, that someone can
answer a few of them or even all :-)

1) The exported product does not really reflect the configuration I did in
the IDE and that works fine when the application is started from there.
e.g., I have added the
-Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook part to the VM
arguments of the product, but
it can't be found in the config.ini that is generated during product
export. Same goes for the <configurations> part of the .product where I set
the start level of the org.eclipse.equinox.weaving.aspectj bundle in order
to make it work.
Is there any updated information (especially concerning simpleconfigurator)
about all that configuration stuff for RCP applications? As far as
I understood from reading alot of tutorials, mailing-list-archives and
other resources, modifying the config.ini (or, supplying a custom one
that is) is not what I want in our case, as it always looks like the
explanations given are tailored for the old
org.eclipse.update.configurator.
Am I right with that?

2) If I manually edit the bundles.info and config.ini (set startlevels in
the first one and add the hook in the second one) of the exported
application,
the application starts and I can see in the console that also aspectj seems
to at least do SOMETHING.
however, when spring finally comes in the game and tries to configure the
aspect, I get a ClassNotFoundException, that my aspect can not be
found. That's the part I understand the least, as it works flawless when
started from within the IDE. Maybe it's also only a configuration issue or
some problem with the correct start order of bundles?

By the way, the build-process is done with our own build-script that's also
run on a cruisecontrol server. Maybe the root of all evil lies here?
The build-process is from the days, when we didn't have aspectj included in
our application, so maybe something totally essential is missing
in there?
Oh, and we always use that way to build the product, so we don't use the
Product-Export-Functionality of Eclipse anymore.

I guess I've come pretty far already, as I managed to get a working
application from the IDE when simply clicking the "Launch Eclipse
Application"
button the the product editor (which wasn't the case before, where I had to
adjust the launch configuration), but now I'm somewhat stuck concerning
the last step of getting the same result when exporting the application.
I hope someone on this list can help me here :-)

Best regards,

Andreas Schilling
Information Engineering
-------------------------------------------------------------------
TWT GmbH
Science & Innovation

Bernhäuser Str. 40 - 42
73765 Neuhausen

Tel: +49 - 7158 - 17 15 - 23
Fax: +49 - 7158 - 17 15 - 32
E-Mail: andreas.schilling@xxxxxxxxxxx
--------------------------------------------------------------------
www.twt-gmbh.de
--------------------------------------------------------------------

Geschäftsführung: Dimitrios Vartziotis, Joachim Laicher (stv.)
Registergericht: Amtsgericht Stuttgart, HRB Nr. 212778
Umsatzsteuer: ID-Nr.: DE147841145