Hello, I have downloaded the equinox aspectj extension and integrated into eclipse how it is mentioned in the user guide. The hello world aspectj example works great for me. I can dynamically start and stop the aspectj service and the classes seam to be reloading at run-time.
I have zipped the folders org.aspectj.runtime_1.6.1.20080703120000 and org.aspectj.weaver_1.6.1.20080703120000 (project org.eclipse.equinox.weaving.demo.target) from the example to two jar files and copied it to the eclipse plugins directory. I reloaded the target platform, so the plugins are considered. After playing with some examples, I tried to integrate aspects into our eclipse product which is based on 3.4.1. I have created a config.ini (modified the prebaked config.ini of eclipse export mechanism) which looks like this one: # default start level for the bundles osgi.bundles.defaultStartLevel=4 [EMAIL PROTECTED]:start, [EMAIL PROTECTED]:start, [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]:start, com.ibm.icu, [our bundles], org.apache.log4j,org.aspectj.runtime,org.aspectj.weaver,org.eclipse.core.commands,org.eclipse.core.contenttype,org.eclipse.core.databinding,org.eclipse.core.expressions,org.eclipse.core.jobs,org.eclipse.core.runtime.compatibility.auth,org.eclipse.equinox.app,org.eclipse.equinox.event,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.equinox.weaving.aspectj,org.eclipse.equinox.weaving.caching,org.eclipse.equinox.weaving.caching.j9,org.eclipse.equinox.weaving.hook,org.eclipse.help,org.eclipse.jface,org.eclipse.jface.databinding,org.eclipse.osgi.services,org.eclipse.swt,org.eclipse.swt.win32.win32.x86,org.eclipse.ui,org.eclipse.ui.workbench,org.junit,org.eclipse.equinox.launcher,org.eclipse.equinox.launcher.win32.win32.x86 #osgi.configuration.cascaded=false osgi.clean=true # AOSGi osgi.framework.extensions=org.eclipse.equinox.weaving.hook aj.weaving.verbose=true org.aspectj.weaver.showWeaveInfo=true org.aspectj.osgi.debug=true After configuring it there are two problems: 1. If I start the product configuration via eclipse, I can see following in the osgi console after running ss: 4 <<LAZY>> org.eclipse.equinox.weaving.aspectj_1.0.0.200808061839 5 <<LAZY>> org.eclipse.equinox.weaving.caching.j9_1.0.0.200808061839 The two bundles for aspectj are not active after starting the osgi platform. I don“t know why! Something prevents loading the aspectj bundles. My presumption is that the required bundles org.aspectj.runtime_1.6.1.20080703120000.jar and org.aspectj.weaver_1.6.1.20080703120000.jar are loaded to late from the org.eclipse.update.configurator which loads all bundles from the plugins directory. Or anyboday think there is another problem? After starting the two bundles manually with start [bundle-ids], my trace aspect which traces method calls is working for this session. But how I can deactivate it during runtime? I made a stop for the bundle 4 (org.eclipse.equinox.weaving.aspectj_1.0.0.200808061839) and the main Activator of our application will be stopped!!! I thought I can dynamically start and stop the aspect bundle? Another approach was to stop the bundle with the compiled aspect inside. But it does not work, too. The tracing still is working. I think, the aspect is cached... Can I prevent this? 2. I made a shutdown of the ogsi plattform and there are two different situations. 2.1 If I restart the product WITHOUT the parameter osgi.clean=true, the needed bundles are started: 4 ACTIVE org.eclipse.equinox.weaving.aspectj_1.0.0.200808061839 5 ACTIVE org.eclipse.equinox.weaving.caching.j9_1.0.0.200808061839 6 ACTIVE org.eclipse.equinox.weaving.caching_1.0.0.200808061839 My bundle with the aspect is also active. But I get severeal messages on console which are like this one: "Info no configuration found. Disabling weaver for bundler [...]". I think, the aspect in one of my bundles cannot be found. At all, the trace aspect does not work! 2.2 If I restart the product WITH the parameter osgi.clean=true, I have the same situation as mentioned under point 1! The required bundles are not loaded... What does it mean to me? I have always to start the osgi platform with osgi.clean=true, so in this case I cannot have the advantage of osgi caching. At all, we cannot rely on the equinox aspects. Maybe somebody can help me to fix the problem. Thanks, Jens Goldhammer fme AG -- View this message in context: http://www.nabble.com/Equinox-aspects%3A-Several-problems-for-Load-Time-Weaving-in-a-eclipse-product%21-tp20774467p20774467.html Sent from the Equinox - Dev mailing list archive at Nabble.com. _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
