tag:blogger.com,1999:blog-18490491.post1358730938671139658..comments2023-09-15T15:20:41.933+02:00Comments on Martin Lippert: Load-Time Weaving for Spring-DMUnknownnoreply@blogger.comBlogger21125tag:blogger.com,1999:blog-18490491.post-70461211698370806332013-06-30T11:33:57.084+02:002013-06-30T11:33:57.084+02:00Hey Christian!
I think this is similar to the pro...Hey Christian!<br /><br />I think this is similar to the problem that I faced with the Spring Extension Factory (https://github.com/martinlippert/spring-extension-factory), a bridge between the Eclipse extension point mechanism and Spring DM (or blueprint now). It waits for the spring context to be available (with a timeout). The code is in the getApplicationContext function here: https://github.com/martinlippert/spring-extension-factory/blob/master/org.eclipse.springframework.util/src/org/eclipse/springframework/util/SpringExtensionFactory.java#L104. Maybe this could be combined with the spring-osgi-weaver that you are using?<br /><br />I haven't touched this code for a long time, therefore I am not exactly sure where and how to inject this piece, but I would take a look into this direction.<br /><br />HTH,<br />Martin<br />Martin Lipperthttps://www.blogger.com/profile/12324741319942962555noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-42602401728824450912013-06-25T07:52:58.972+02:002013-06-25T07:52:58.972+02:00Hi Martin,
i am playing around with your springwe...Hi Martin,<br /><br />i am playing around with your springweaver bundle togheter with Gemini 2.0.0.RC (to be exact, I'm using the patch from richmayfield) and found a <b>subtle problem</b>:<br /><br />I annotated an Eclipse command handler with @Configurable/@Autowired and hopped to get another Spring bean injected into my Eclipse command handler. This works, if I start my plugin manually before first use of the handler.<br /><br /><b>But</b> if my plugin is activated just before first use of my handler (lazy loading), the classloading of my handler and the Spring context initialization are running parallel in two different threads. It happens that the classloading is faster and the Spring context is not informed about handler class loading and cannot wire it with dependent spring beans.<br /><br />If I delay the class loading of my handler (e.g. class break point), then everything is OK and my handler is wired with dependent Spring beans.<br /><br />I think the solution of this problem can only be a classloading hook in Equinox which delays class loading of an bundle until Spring context is initialized. What do you think about this? <br /><br />Christian Trutzhttps://www.blogger.com/profile/05609155307958238755noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-56273438291053774972012-06-08T10:58:49.291+02:002012-06-08T10:58:49.291+02:00Hi Rich,
Angelo Zerr did a multi bundle weaving p...Hi Rich,<br /><br />Angelo Zerr did a multi bundle weaving project, based on the Martin's one. Also Virgo supports weaving in it's core component (a long time ago, I was searching for these things).<br /><br />If you're going to improve this project, I'll advise you to look at these things.<br /><br />Cheers CharlieCharliehttps://www.blogger.com/profile/03279209791504713216noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-76083755897624836872012-06-08T01:10:45.736+02:002012-06-08T01:10:45.736+02:00Hi Martin. I've created a github repository (h...Hi Martin. I've created a github repository (https://github.com/richmayfield/spring-osgi-weaving) seeded first with your original source. Modifications to that enable use of the OSGi Weaving Service and OSGi Blueprint. <br /><br />I'm surprised that nobody has done this already and I guess maybe a question I should have asked from the beginning. Is there no (or low) demand for this because there's a more attractive alternative?<br /><br />In any event, let me know what you think.Rich Mayfieldhttps://www.blogger.com/profile/16041760632344562601noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-39041926095996244142012-06-02T12:43:11.491+02:002012-06-02T12:43:11.491+02:00Hey Rick. That sounds awesome and I would love to ...Hey Rick. That sounds awesome and I would love to see the code public. I would recommend to setup a project at GitHub (http://github.com) and post the project there. That makes the most sense nowadays. Feel free to ping me if you have any further questions. Cheers!Martin Lipperthttps://www.blogger.com/profile/12324741319942962555noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-20023338342229753782012-05-30T19:56:01.859+02:002012-05-30T19:56:01.859+02:00So, lets say that I've taken your code and hav...So, lets say that I've taken your code and have brought it up to date to work with OSGi Blueprint (instead of Spring DM) and the OSGi Weaving Service (instead of the Equinox Weaving Service).<br /><br />What would you recommend as the best way to get this to the general public?Rich Mayfieldhttps://www.blogger.com/profile/16041760632344562601noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-29219873591109234292011-01-12T11:13:50.885+01:002011-01-12T11:13:50.885+01:00Hi Miroslav,
glad to hear you like it!!!
Thanks f...Hi Miroslav,<br /><br />glad to hear you like it!!!<br />Thanks for the nice feedback!!!<br /><br />Cheers,<br />-MartinMartin Lipperthttps://www.blogger.com/profile/12324741319942962555noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-2083711600741204902011-01-12T08:55:47.066+01:002011-01-12T08:55:47.066+01:00Thank you. Great plug-in I'm using it in RCP a...Thank you. Great plug-in I'm using it in RCP and RAP applications. Spring and RAP just the perfect combination!Unknownhttps://www.blogger.com/profile/10988822812574358469noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-91560623647458951352010-10-06T21:03:05.849+02:002010-10-06T21:03:05.849+02:00The InstrumentationLoadTimeWeaver tries to add byt...The InstrumentationLoadTimeWeaver tries to add bytecode modifyers to the classloader itself if that classloader is of a specific type. This is not the case for OSGi environments where the OSGi runtime controls the classloader creation. Therefore I worked on the Equinox load time weaver.Martin Lipperthttps://www.blogger.com/profile/12324741319942962555noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-13047544977977976222010-09-23T19:55:19.077+02:002010-09-23T19:55:19.077+02:00I believe "class" should be "weavin...I believe "class" should be "weaving-class"?<br /><br />btw what's the difference between org.eclipse.equinox.weaving.springweaver.EquinoxAspectsLoadTimeWeaver and org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver (both with aspectj-weaving="on")?Eric Jainhttps://www.blogger.com/profile/10893676855820131379noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-11232316594505703112010-07-16T19:52:47.152+02:002010-07-16T19:52:47.152+02:00I’m experiencing problem with EquinoxLoadTimeWaver...I’m experiencing problem with EquinoxLoadTimeWaver and org.springframework.beans.factory.config.PropertyPlaceholderConfigurer used in one bundle. Properties are not being resolved properly. If I comment out <br /><br /><br /><br />properties are being substituted properly. I’m using Spring 2.5.5.<br /><br />Have anyone had similar problem?Łukasz Konieckihttps://www.blogger.com/profile/15552678311990084053noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-90519636136505714672010-04-30T09:16:09.647+02:002010-04-30T09:16:09.647+02:00Hi Martin,
I have updated your Springweaver bundl...Hi Martin,<br /><br />I have updated your Springweaver bundle to manage JPA/Eclipselink. Please see at http://angelozerr.wordpress.com/2010/04/30/springweaver_step1/<br /><br />You will find explanation of the problem with your Springweaver and try to explain how I fix it. There is too a sample with JPA/Eclipselink, that I will explain into another post.<br /><br />Regards AngeloAngelohttps://www.blogger.com/profile/07224232469618404650noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-35601322254908033082010-04-22T19:00:17.104+02:002010-04-22T19:00:17.104+02:00Hi Martin,
At first, thank a lot for your work. I...Hi Martin,<br /><br />At first, thank a lot for your work. I have tried to use org.eclipse.equinox.weaving.springweaver with EclipseLink and Equinox but I have problems.<br /><br />Indead I have several bundles : <br /><br />1) Domain bundle<br />2) DAO (API) bundle<br />3) DAO/JPA bundle wich define my bean entityManagerFactory with my bean loadTimeWeaver.<br /><br />My problem is that my class from Domain bundle is never woven (I have checked your requiremenet). So I have studied your code and the problem come from that ClassFileTransformerRegistry store into Map(Bundle, List(ClassFileTransformer)) the ClassFileTransformer.<br /><br />Into my case this Map contains BundleJPA/SpringClassFileTransformer<br /><br />So Only my BundleJPA has a ClassFileTransformer. My Bundle Domain has never ClassFileTransformer. <br /><br />If I set my domain classes into the bundle JPA/DAO, the woven is done correctly.<br /><br />I'm trying to resolve this problem. If I find a solution I will send you a patch.<br /><br />Regards AngeloAngelohttps://www.blogger.com/profile/07224232469618404650noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-61350734267844426862010-04-07T21:12:08.491+02:002010-04-07T21:12:08.491+02:00There are no plans for a new version at the moment...There are no plans for a new version at the moment. So if you would like to use the springweaver right now, I would recommend you patch the version specs within the manifest yourself. I haven't tried your setting myself, so let me know if you observe any problems.<br /><br />HTH,<br />MartinMartin Lipperthttps://www.blogger.com/profile/12324741319942962555noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-41964255064825872062010-04-06T16:52:38.038+02:002010-04-06T16:52:38.038+02:00Hello Martin,
I tried to use the org.eclipse.equin...Hello Martin,<br />I tried to use the org.eclipse.equinox.weaving.springweaver with spring 3.0.2 and SpringDM 2.0.0.M1, but they are not in the version range.<br />Will there be a new springweaver with updated dependency versions?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-18490491.post-74573085714072141452009-05-07T14:36:00.000+02:002009-05-07T14:36:00.000+02:00Hi Martin,
Thanks very much for the plugin. I had...Hi Martin,<br /><br />Thanks very much for the plugin. I had posted (http://forum.springsource.org/showthread.php?t=71414) the problems I was facing with load time weaving in JPA using spring dm. <br /><br />I am trying to use your plugin, however am facing the same problem I had described in the post.<br /><br />I had to modify your a plugin manifest a bit to change the import packages to the versions I have setup in my spring dm target. Also I had to remove the Plugin Required Execution Environment (JavaSE-1.6) since I don't have this environment. Also I had to recompile your classes, your classes were compiled with higher jdk version.<br /><br />I imported your bundle as plug in dependency in my service bundle. Also configured the EquinoxAspectLoadTimeWeaver as the loadtimeweaver used.<br />< bean id="entityManagerFactory"<br /> class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" ><br /> .....<br /><property name="loadTimeWeaver"><br /> <bean class="org.eclipse.equinox.weaving.springweaver.EquinoxAspectsLoadTimeWeaver" ><br /> .....<br /></property><br /></bean><br /><br />I have pasted the OSGI debug output on the cosole below.<br /><br />Configuration location:<br /> file:/C:/osgi/.metadata/.plugins/org.eclipse.pde.core/Spring-DM-TP/<br />Configuration file:<br /> file:/C:/osgi/.metadata/.plugins/org.eclipse.pde.core/Spring-DM-TP/config.ini loaded<br />Install location:<br /> file:/C:/osgi/Spring-DM-Target-Platform/target/<br />Framework located:<br /> file:/C:/osgi/Spring-DM-Target-Platform/target/org.eclipse.osgi-3.3.1.R33x_v20070828.jar<br />Loading extension: org.eclipse.equinox.weaving.hook<br /> eclipse.properties not found<br />Framework classpath:<br /> file:/C:/osgi/Spring-DM-Target-Platform/target/org.eclipse.osgi-3.3.1.R33x_v20070828.jar<br /> file:/C:/osgi/Spring-DM-Target-Platform/target/<br /> file:/C:/osgi/Spring-DM-Target-Platform/target/org.eclipse.equinox.weaving.hook_1.0.0.200905031323.jar<br />Debug options:<br /> file:/C:/osgi/.metadata/.plugins/org.eclipse.pde.core/Spring-DM-TP/.options loaded<br />getServiceReferences(org.osgi.service.packageadmin.PackageAdmin, "null")<br />getServiceReferences(org.osgi.service.url.URLStreamHandlerService, "null")<br />getServiceReferences(org.osgi.service.packageadmin.PackageAdmin, "null")<br />getServiceReferences(java.net.ContentHandler, "null")<br />registerService[System Bundle [0]]({org.eclipse.osgi.service.runnable.StartupMonitor}={service.ranking=-2147483648, service.id=1})<br />registerService[System Bundle [0]]({org.osgi.service.packageadmin.PackageAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.PackageAdminImpl, service.vendor=Eclipse.org, service.id=2})<br />getService[System Bundle [0]]({org.osgi.service.packageadmin.PackageAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.PackageAdminImpl, service.vendor=Eclipse.org, service.id=2})<br />getService[System Bundle [0]]({org.osgi.service.packageadmin.PackageAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.PackageAdminImpl, service.vendor=Eclipse.org, service.id=2})<br />registerService[System Bundle [0]]({org.osgi.service.startlevel.StartLevel}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.StartLevelManager, service.vendor=Eclipse.org, service.id=3})<br />registerService[System Bundle [0]]({org.eclipse.osgi.service.debug.DebugOptions}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.debug.FrameworkDebugOptions, service.vendor=Eclipse.org, service.id=4})<br />registerService[System Bundle [0]]({org.eclipse.osgi.framework.log.FrameworkLog}={service.ranking=2147483647, service.pid=0.org.eclipse.core.runtime.adaptor.EclipseLog, service.vendor=Eclipse.org, service.id=5})<br />registerService[System Bundle [0]]({org.eclipse.osgi.framework.log.FrameworkLog}={service.ranking=-2147483648, performance=true, service.pid=46org.eclipse.core.runtime.adaptor.EclipseLog, service.vendor=Eclipse.org, service.id=6})<br />registerService[System Bundle [0]]({javax.xml.parsers.SAXParserFactory}={service.id=7})<br />registerService[System Bundle [0]]({javax.xml.parsers.DocumentBuilderFactory}={service.id=8})<br />registerService[System Bundle [0]]({org.eclipse.osgi.service.datalocation.Location}={type=osgi.user.area, service.id=9})<br />registerService[System Bundle [0]]({org.eclipse.osgi.service.datalocation.Location}={type=osgi.instance.area, service.id=10})<br />registerService[System Bundle [0]]({org.eclipse.osgi.service.datalocation.Location}={type=osgi.configuration.area, service.id=11})<br />registerService[System Bundle [0]]({org.eclipse.osgi.service.datalocation.Location}={type=osgi.install.area, service.id=12})<br />registerService[System Bundle [0]]({org.eclipse.osgi.service.urlconversion.URLConverter}={protocol=[bundleentry,bundleresource], service.id=13})<br />registerService[System Bundle [0]]({org.eclipse.osgi.service.environment.EnvironmentInfo}={service.ranking=2147483647, service.pid=0.org.eclipse.core.runtime.internal.adaptor.EclipseEnvironmentInfo, service.vendor=Eclipse.org, service.id=14})<br />registerService[System Bundle [0]]({org.eclipse.osgi.service.resolver.PlatformAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.internal.baseadaptor.StateManager, service.vendor=Eclipse.org, service.id=15})<br />registerService[System Bundle [0]]({org.eclipse.osgi.service.pluginconversion.PluginConverter}={service.ranking=2147483647, service.pid=0.org.eclipse.core.runtime.internal.adaptor.PluginConverterImpl, service.vendor=Eclipse.org, service.id=16})<br />registerService[System Bundle [0]]({org.eclipse.osgi.framework.console.CommandProvider}={service.ranking=2147483647, service.pid=0.org.eclipse.core.runtime.internal.adaptor.EclipseCommandProvider, service.vendor=Eclipse.org, service.id=17})<br />registerService[System Bundle [0]]({org.eclipse.osgi.service.localization.BundleLocalization}={service.ranking=2147483647, service.pid=0.org.eclipse.core.runtime.internal.adaptor.BundleLocalizationImpl, service.vendor=Eclipse.org, service.id=18})<br />getServiceReference(org.osgi.service.startlevel.StartLevel)<br />getService[System Bundle [0]]({org.osgi.service.startlevel.StartLevel}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.StartLevelManager, service.vendor=Eclipse.org, service.id=3})<br />registerService[System Bundle [0]]({org.eclipse.osgi.internal.provisional.verifier.CertificateVerifierFactory}={service.id=19})<br />registerService[System Bundle [0]]({org.eclipse.osgi.internal.provisional.verifier.CertificateTrustAuthority}={service.ranking=-2147483648, osgi.certificate.trust.authority=org.eclipse.osgi, service.id=20})<br />getServiceReferences(org.eclipse.osgi.framework.console.CommandProvider, "null")<br />getService[System Bundle [0]]({org.eclipse.osgi.framework.console.CommandProvider}={service.ranking=2147483647, service.pid=0.org.eclipse.core.runtime.internal.adaptor.EclipseCommandProvider, service.vendor=Eclipse.org, service.id=17})<br />registerService[System Bundle [0]]({org.eclipse.osgi.framework.console.CommandProvider}={service.ranking=2147483647, service.id=21})<br />getService[System Bundle [0]]({org.eclipse.osgi.framework.console.CommandProvider}={service.ranking=2147483647, service.id=21})<br /><br />osgi> getServiceReference(org.osgi.service.startlevel.StartLevel)<br />getService[System Bundle [0]]({org.osgi.service.startlevel.StartLevel}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.StartLevelManager, service.vendor=Eclipse.org, service.id=3})<br />ungetService[System Bundle [0]]({org.osgi.service.startlevel.StartLevel}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.StartLevelManager, service.vendor=Eclipse.org, service.id=3})<br />getServiceReference(org.osgi.service.packageadmin.PackageAdmin)<br />getService[System Bundle [0]]({org.osgi.service.packageadmin.PackageAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.PackageAdminImpl, service.vendor=Eclipse.org, service.id=2})<br />ungetService[System Bundle [0]]({org.osgi.service.packageadmin.PackageAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.PackageAdminImpl, service.vendor=Eclipse.org, service.id=2})<br />getServiceReferences(org.eclipse.osgi.service.runnable.StartupMonitor, "null")<br />getService[System Bundle [0]]({org.eclipse.osgi.service.runnable.StartupMonitor}={service.ranking=-2147483648, service.id=1})<br />removeServiceListener[System Bundle [0]](org.osgi.util.tracker.ServiceTracker$Tracked@18f5824)<br />ungetService[System Bundle [0]]({org.eclipse.osgi.service.runnable.StartupMonitor}={service.ranking=-2147483648, service.id=1})<br />Time to load bundles: 2124<br />getServiceReference(org.osgi.service.startlevel.StartLevel)<br />getService[System Bundle [0]]({org.osgi.service.startlevel.StartLevel}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.StartLevelManager, service.vendor=Eclipse.org, service.id=3})<br />ungetService[System Bundle [0]]({org.osgi.service.startlevel.StartLevel}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.StartLevelManager, service.vendor=Eclipse.org, service.id=3})<br />getServiceReferences(org.eclipse.osgi.service.runnable.StartupMonitor, "null")<br />getService[System Bundle [0]]({org.eclipse.osgi.service.runnable.StartupMonitor}={service.ranking=-2147483648, service.id=1})<br />registerService[initial@reference:file:org.eclipse.equinox.weaving.springweaver_0.1.1.jar/ [4]]({org.eclipse.equinox.service.weaving.IWeavingServiceFactory}={service.id=22})<br />Persistence bundle starting...<br />getServiceReferences(javax.persistence.spi.PersistenceProvider, "null")<br />Persistence bundle started.<br />May 7, 2009 5:20:30 PM org.springframework.osgi.web.tomcat.internal.Activator$1 run<br />INFO: Starting Apache Tomcat/6.0.18 ...<br />May 7, 2009 5:20:30 PM org.springframework.osgi.web.tomcat.internal.Activator createCatalinaServer<br />INFO: Using default XML configuration bundleresource://14/conf/default-server.xml<br />May 7, 2009 5:20:30 PM org.springframework.osgi.extender.internal.activator.ContextLoaderListener start<br />INFO: Starting [org.springframework.osgi.extender] bundle v.[1.1.3.RELEASE]<br />getServiceReference(org.osgi.service.packageadmin.PackageAdmin)<br />getService[initial@reference:file:org.springframework.osgi.extender-1.1.3.RELEASE.jar/ [32]]({org.osgi.service.packageadmin.PackageAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.PackageAdminImpl, service.vendor=Eclipse.org, service.id=2})<br />May 7, 2009 5:20:30 PM org.apache.catalina.startup.ClusterRuleSetFactory getClusterRuleSet<br />INFO: Unable to find a cluster rule set in the classpath. Will load the default rule set.<br />May 7, 2009 5:20:30 PM org.apache.catalina.startup.ClusterRuleSetFactory getClusterRuleSet<br />INFO: Unable to find a cluster rule set in the classpath. Will load the default rule set.<br />May 7, 2009 5:20:32 PM org.apache.coyote.http11.Http11Protocol init<br />INFO: Initializing Coyote HTTP/1.1 on http-8080<br />May 7, 2009 5:20:32 PM org.apache.catalina.startup.Catalina load<br />INFO: Initialization processed in 1242 ms<br />May 7, 2009 5:20:32 PM org.apache.catalina.core.StandardService start<br />INFO: Starting service Catalina<br />May 7, 2009 5:20:32 PM org.apache.catalina.core.StandardEngine start<br />INFO: Starting Servlet Engine: Apache Tomcat/6.0.18<br />May 7, 2009 5:20:32 PM org.apache.coyote.http11.Http11Protocol start<br />INFO: Starting Coyote HTTP/1.1 on http-8080<br />May 7, 2009 5:20:32 PM org.springframework.osgi.web.tomcat.internal.Activator$1 run<br />INFO: Succesfully started Apache Tomcat/6.0.18 @ Catalina:8080<br />registerService[initial@reference:file:catalina.start.osgi-1.0-SNAPSHOT.jar/ [14]]({org.osgi.service.url.URLStreamHandlerService}={url.handler.protocol=jndi, service.id=23})<br />getService[System Bundle [0]]({org.osgi.service.url.URLStreamHandlerService}={url.handler.protocol=jndi, service.id=23})<br />registerService[initial@reference:file:catalina.start.osgi-1.0-SNAPSHOT.jar/ [14]]({org.apache.catalina.core.StandardService, org.apache.catalina.Service, javax.management.MBeanRegistration, org.apache.catalina.Lifecycle}={Bundle-Version=6.0.18.0, service.vendor=Spring Dynamic Modules, service.description=Apache Tomcat/6.0.18, Bundle-Name=org.springframework.osgi.catalina.start.osgi, org.springframework.osgi.bean.name=tomcat-server, service.id=24})<br />May 7, 2009 5:20:32 PM org.springframework.osgi.web.tomcat.internal.Activator$1 run<br />INFO: Published Apache Tomcat/6.0.18 as an OSGi service<br />registerService[initial@reference:file:org.springframework.osgi.extender-1.1.3.RELEASE.jar/ [32]]({org.springframework.beans.factory.xml.NamespaceHandlerResolver}={service.id=25})<br />registerService[initial@reference:file:org.springframework.osgi.extender-1.1.3.RELEASE.jar/ [32]]({org.xml.sax.EntityResolver}={service.id=26})<br />May 7, 2009 5:20:34 PM org.springframework.osgi.extender.internal.support.ExtenderConfiguration init<br />INFO: No custom extender configuration detected; using defaults...<br />May 7, 2009 5:20:34 PM org.springframework.scheduling.timer.TimerTaskExecutor afterPropertiesSet<br />INFO: Initializing Timer<br />getServiceReferences(null, "(objectClass=org.springframework.osgi.context.event.OsgiBundleApplicationContextListener)")<br />getServiceReference(org.osgi.service.packageadmin.PackageAdmin)<br />getService[initial@reference:file:org.eclipse.persistence.jpa-1.1.0.jar/ [33]]({org.osgi.service.packageadmin.PackageAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.PackageAdminImpl, service.vendor=Eclipse.org, service.id=2})<br />registerService[initial@reference:file:org.eclipse.persistence.jpa-1.1.0.jar/ [33]]({javax.persistence.spi.PersistenceProvider}={javax.persistence.spi.PersistenceProvider=org.eclipse.persistence.jpa.osgi.PersistenceProviderOSGi, service.id=27})<br />ProviderTracker: New service detected...<br />getService[initial@reference:file:javax.persistence-1.99.0.jar/ [16]]({javax.persistence.spi.PersistenceProvider}={javax.persistence.spi.PersistenceProvider=org.eclipse.persistence.jpa.osgi.PersistenceProviderOSGi, service.id=27})<br />ProviderTracker: Added service org.eclipse.persistence.jpa.osgi.PersistenceProviderOSGi<br />registerService[initial@reference:file:org.springframework.osgi.test-1.1.3.RELEASE.jar/ [59]]({org.springframework.osgi.test.internal.TestRunnerService}={service.id=28})<br />unregisterService[initial@reference:file:org.springframework.osgi.test-1.1.3.RELEASE.jar/ [59]]({org.springframework.osgi.test.internal.TestRunnerService}={service.id=28})<br />May 7, 2009 5:20:34 PM org.springframework.scheduling.timer.TimerTaskExecutor afterPropertiesSet<br />INFO: Initializing Timer<br />May 7, 2009 5:20:34 PM org.springframework.osgi.web.extender.internal.activator.WarLoaderListener start<br />INFO: Starting [org.springframework.osgi.web.extender] bundle v.[1.1.3.RELEASE]<br />May 7, 2009 5:20:34 PM org.springframework.osgi.extender.support.DefaultOsgiApplicationContextCreator createApplicationContext<br />INFO: Discovered configurations {osgibundle:/META-INF/spring/*.xml} in bundle [agClinical Services (com.arisglobal.agclinical.osgi.services)]<br />May 7, 2009 5:20:34 PM org.springframework.osgi.web.extender.internal.activator.WarListenerConfiguration init<br />INFO: No custom extender configuration detected; using defaults...<br />May 7, 2009 5:20:34 PM org.springframework.osgi.web.deployer.tomcat.TomcatWarDeployer afterPropertiesSet<br />INFO: No Catalina Service set; looking for one in the OSGi service registry...<br />getServiceReferences(null, "(objectClass=org.apache.catalina.Service)")<br />getServiceReference(org.osgi.service.packageadmin.PackageAdmin)<br />getService[initial@reference:file:org.springframework.osgi.extender-1.1.3.RELEASE.jar/ [32]]({org.osgi.service.packageadmin.PackageAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.PackageAdminImpl, service.vendor=Eclipse.org, service.id=2})<br />getService[initial@reference:file:org.springframework.osgi.web.extender-1.1.3.RELEASE.jar/ [13]]({org.apache.catalina.core.StandardService, org.apache.catalina.Service, javax.management.MBeanRegistration, org.apache.catalina.Lifecycle}={Bundle-Version=6.0.18.0, service.vendor=Spring Dynamic Modules, service.description=Apache Tomcat/6.0.18, Bundle-Name=org.springframework.osgi.catalina.start.osgi, org.springframework.osgi.bean.name=tomcat-server, service.id=24})<br />getService[initial@reference:file:org.springframework.osgi.web.extender-1.1.3.RELEASE.jar/ [13]]({org.apache.catalina.core.StandardService, org.apache.catalina.Service, javax.management.MBeanRegistration, org.apache.catalina.Lifecycle}={Bundle-Version=6.0.18.0, service.vendor=Spring Dynamic Modules, service.description=Apache Tomcat/6.0.18, Bundle-Name=org.springframework.osgi.catalina.start.osgi, org.springframework.osgi.bean.name=tomcat-server, service.id=24})<br />May 7, 2009 5:20:34 PM org.springframework.osgi.web.deployer.tomcat.TomcatWarDeployer afterPropertiesSet<br />INFO: Found service Catalina<br />May 7, 2009 5:20:34 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh<br />INFO: Refreshing org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext@1797795: display name [OsgiBundleXmlApplicationContext(bundle=com.arisglobal.agclinical.osgi.services, config=osgibundle:/META-INF/spring/*.xml)]; startup date [Thu May 07 17:20:34 IST 2009]; root of context hierarchy<br />May 7, 2009 5:20:35 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions<br />INFO: Loading XML bean definitions from URL [bundleentry://55/META-INF/spring/agclinicalservices-osgi.xml]<br />getServiceReferences(null, "(objectClass=org.xml.sax.EntityResolver)")<br />getService[initial@reference:file:../../com.arisglobal.agclinical.osgi.services/ [55]]({org.xml.sax.EntityResolver}={service.id=26})<br />getServiceReferences(null, "(objectClass=org.xml.sax.EntityResolver)")<br />getService[initial@reference:file:../../com.arisglobal.agclinical.osgi.services/ [55]]({org.xml.sax.EntityResolver}={service.id=26})<br />getServiceReferences(null, "(objectClass=org.springframework.beans.factory.xml.NamespaceHandlerResolver)")<br />getService[initial@reference:file:../../com.arisglobal.agclinical.osgi.services/ [55]]({org.springframework.beans.factory.xml.NamespaceHandlerResolver}={service.id=25})<br />May 7, 2009 5:20:35 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions<br />INFO: Loading XML bean definitions from URL [bundleentry://55/META-INF/spring/agclinicalservices.xml]<br />getServiceReferences(null, "(objectClass=org.xml.sax.EntityResolver)")<br />getService[initial@reference:file:../../com.arisglobal.agclinical.osgi.services/ [55]]({org.xml.sax.EntityResolver}={service.id=26})<br />getServiceReferences(null, "(objectClass=org.xml.sax.EntityResolver)")<br />getService[initial@reference:file:../../com.arisglobal.agclinical.osgi.services/ [55]]({org.xml.sax.EntityResolver}={service.id=26})<br />getServiceReference(org.osgi.service.packageadmin.PackageAdmin)<br />getService[initial@reference:file:../../com.arisglobal.agclinical.osgi.services/ [55]]({org.osgi.service.packageadmin.PackageAdmin}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.PackageAdminImpl, service.vendor=Eclipse.org, service.id=2})<br />getServiceReferences(null, "(objectClass=org.springframework.beans.factory.xml.NamespaceHandlerResolver)")<br />getService[initial@reference:file:../../com.arisglobal.agclinical.osgi.services/ [55]]({org.springframework.beans.factory.xml.NamespaceHandlerResolver}={service.id=25})<br />May 7, 2009 5:20:35 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory<br />INFO: Bean factory for application context [org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext@1797795]: org.springframework.beans.factory.support.DefaultListableBeanFactory@12cd19d<br />May 7, 2009 5:20:36 PM org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor stageOne<br />INFO: No outstanding OSGi service dependencies, completing initialization for OsgiBundleXmlApplicationContext(bundle=com.arisglobal.agclinical.osgi.services, config=osgibundle:/META-INF/spring/*.xml)<br />May 7, 2009 5:20:36 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons<br />INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@12cd19d: defining beans [personnelServiceOsgi,dataSource,persistenceUnitManager,entityManagerFactory,transactionManager,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor,org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor#0,personnelService]; root of factory hierarchy<br />May 7, 2009 5:20:36 PM org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName<br />INFO: Loaded JDBC driver: oracle.jdbc.OracleDriver<br />May 7, 2009 5:20:36 PM org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean createNativeEntityManagerFactory<br />INFO: Building JPA container EntityManagerFactory for persistence unit 'AG_CLINICAL_MAIN_DS'<br />[EL Config]: 2009-05-07 17:20:37.069--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The access type for the persistent class [class com.arisglobal.agclinical.osgi.entities.Phone] is set to [FIELD].<br />[EL Config]: 2009-05-07 17:20:37.1--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The alias name for the entity class [class com.arisglobal.agclinical.osgi.entities.Phone] is being defaulted to: Phone.<br />[EL Config]: 2009-05-07 17:20:37.1--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The table name for entity [class com.arisglobal.agclinical.osgi.entities.Phone] is being defaulted to: PHONE.<br />[EL Config]: 2009-05-07 17:20:37.179--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The access type for the persistent class [class com.arisglobal.agclinical.osgi.entities.Address] is set to [FIELD].<br />[EL Config]: 2009-05-07 17:20:37.179--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The alias name for the entity class [class com.arisglobal.agclinical.osgi.entities.Address] is being defaulted to: Address.<br />[EL Config]: 2009-05-07 17:20:37.179--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The table name for entity [class com.arisglobal.agclinical.osgi.entities.Address] is being defaulted to: ADDRESS.<br />[EL Config]: 2009-05-07 17:20:37.194--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The access type for the persistent class [class com.arisglobal.agclinical.osgi.entities.Personnel] is set to [FIELD].<br />[EL Config]: 2009-05-07 17:20:37.194--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The alias name for the entity class [class com.arisglobal.agclinical.osgi.entities.Personnel] is being defaulted to: Personnel.<br />[EL Config]: 2009-05-07 17:20:37.194--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The table name for entity [class com.arisglobal.agclinical.osgi.entities.Personnel] is being defaulted to: PERSONNEL.<br />[EL Config]: 2009-05-07 17:20:37.241--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The target entity (reference) class for the many to one mapping element [private com.arisglobal.agclinical.osgi.entities.Personnel com.arisglobal.agclinical.osgi.entities.Address.personnel] is being defaulted to: class com.arisglobal.agclinical.osgi.entities.Personnel.<br />[EL Config]: 2009-05-07 17:20:37.272--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The primary key column name for the mapping element [private com.arisglobal.agclinical.osgi.entities.Personnel com.arisglobal.agclinical.osgi.entities.Address.personnel] is being defaulted to: RECORD_ID.<br />[EL Config]: 2009-05-07 17:20:37.272--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The target entity (reference) class for the one to many mapping element [private java.util.List com.arisglobal.agclinical.osgi.entities.Personnel.addresses] is being defaulted to: class com.arisglobal.agclinical.osgi.entities.Address.<br />[EL Config]: 2009-05-07 17:20:37.304--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The target entity (reference) class for the one to many mapping element [private java.util.List com.arisglobal.agclinical.osgi.entities.Personnel.phones] is being defaulted to: class com.arisglobal.agclinical.osgi.entities.Phone.<br />[EL Config]: 2009-05-07 17:20:37.304--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The target entity (reference) class for the many to one mapping element [private com.arisglobal.agclinical.osgi.entities.Personnel com.arisglobal.agclinical.osgi.entities.Phone.personnel] is being defaulted to: class com.arisglobal.agclinical.osgi.entities.Personnel.<br />[EL Config]: 2009-05-07 17:20:37.304--ServerSession(7363880)--Thread(Thread[Start Level Event Dispatcher,5,main])--The primary key column name for the mapping element [private com.arisglobal.agclinical.osgi.entities.Personnel com.arisglobal.agclinical.osgi.entities.Phone.personnel] is being defaulted to: RECORD_ID.<br />May 7, 2009 5:20:37 PM org.springframework.beans.factory.support.DefaultSingletonBeanRegistry destroySingletons<br />INFO: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@12cd19d: defining beans [personnelServiceOsgi,dataSource,persistenceUnitManager,entityManagerFactory,transactionManager,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor,org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor#0,personnelService]; root of factory hierarchy<br />May 7, 2009 5:20:37 PM org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext completeRefresh<br />SEVERE: Post refresh error<br />org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'personnelServiceOsgi': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'personnelService': Injection of persistence methods failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in URL [bundleentry://55/META-INF/spring/agclinicalservices.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Cannot apply class transformer without LoadTimeWeaver specified<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)<br /> at java.security.AccessController.doPrivileged(Native Method)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)<br /> at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)<br /> at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)<br /> at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)<br /> at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:288)<br /> at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:145)<br /> at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)<br /> at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageTwo(DependencyWaiterApplicationContextExecutor.java:316)<br /> at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:258)<br /> at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:173)<br /> at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:136)<br /> at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$2.run(ContextLoaderListener.java:741)<br /> at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)<br /> at org.springframework.osgi.extender.internal.activator.ContextLoaderListener.maybeCreateApplicationContextFor(ContextLoaderListener.java:788)<br /> at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$ContextBundleListener.handleEvent(ContextLoaderListener.java:229)<br /> at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$BaseListener.bundleChanged(ContextLoaderListener.java:172)<br /> at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1210)<br /> at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:195)<br /> at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)<br /> at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1558)<br /> at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1509)<br /> at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:355)<br /> at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:350)<br /> at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1118)<br /> at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:634)<br /> at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:508)<br /> at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:282)<br /> at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:468)<br /> at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:195)<br /> at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:297)<br />Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'personnelService': Injection of persistence methods failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in URL [bundleentry://55/META-INF/spring/agclinicalservices.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Cannot apply class transformer without LoadTimeWeaver specified<br /> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:324)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:998)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)<br /> at java.security.AccessController.doPrivileged(Native Method)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)<br /> at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)<br /> at org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean.afterPropertiesSet(OsgiServiceFactoryBean.java:236)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)<br /> ... 37 more<br />Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in URL [bundleentry://55/META-INF/spring/agclinicalservices.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Cannot apply class transformer without LoadTimeWeaver specified<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)<br /> at java.security.AccessController.doPrivileged(Native Method)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)<br /> at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)<br /> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findDefaultEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:507)<br /> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:473)<br /> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.resolveEntityManager(PersistenceAnnotationBeanPostProcessor.java:599)<br /> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.getResourceToInject(PersistenceAnnotationBeanPostProcessor.java:570)<br /> at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:192)<br /> at org.springframework.beans.factory.annotation.InjectionMetadata.injectMethods(InjectionMetadata.java:117)<br /> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:321)<br /> ... 50 more<br />Caused by: java.lang.IllegalStateException: Cannot apply class transformer without LoadTimeWeaver specified<br /> at org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.addTransformer(SpringPersistenceUnitInfo.java:78)<br /> at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:227)<br /> at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:224)<br /> at com.arisglobal.aglite.jpa.AGEntityManagerFactoryBean.createNativeEntityManagerFactory(AGEntityManagerFactoryBean.java:23)<br /> at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:291)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)<br /> ... 66 more<br />May 7, 2009 5:20:37 PM org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext doClose<br />INFO: Unpublishing application context OSGi service for bundle agClinical Services (com.arisglobal.agclinical.osgi.services)<br />May 7, 2009 5:20:37 PM org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor fail<br />SEVERE: Unable to create application context for [com.arisglobal.agclinical.osgi.services], unsatisfied dependencies: none<br />org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'personnelServiceOsgi': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'personnelService': Injection of persistence methods failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in URL [bundleentry://55/META-INF/spring/agclinicalservices.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Cannot apply class transformer without LoadTimeWeaver specified<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)<br /> at java.security.AccessController.doPrivileged(Native Method)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)<br /> at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)<br /> at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)<br /> at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)<br /> at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:288)<br /> at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:145)<br /> at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)<br /> at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageTwo(DependencyWaiterApplicationContextExecutor.java:316)<br /> at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:258)<br /> at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:173)<br /> at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:136)<br /> at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$2.run(ContextLoaderListener.java:741)<br /> at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)<br /> at org.springframework.osgi.extender.internal.activator.ContextLoaderListener.maybeCreateApplicationContextFor(ContextLoaderListener.java:788)<br /> at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$ContextBundleListener.handleEvent(ContextLoaderListener.java:229)<br /> at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$BaseListener.bundleChanged(ContextLoaderListener.java:172)<br /> at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:1210)<br /> at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:195)<br /> at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:141)<br /> at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEventPrivileged(Framework.java:1558)<br /> at org.eclipse.osgi.framework.internal.core.Framework.publishBundleEvent(Framework.java:1509)<br /> at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:355)<br /> at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:350)<br /> at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1118)<br /> at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:634)<br /> at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:508)<br /> at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:282)<br /> at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:468)<br /> at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:195)<br /> at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:297)<br />Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'personnelService': Injection of persistence methods failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in URL [bundleentry://55/META-INF/spring/agclinicalservices.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Cannot apply class transformer without LoadTimeWeaver specified<br /> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:324)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:998)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)<br /> at java.security.AccessController.doPrivileged(Native Method)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)<br /> at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)<br /> at org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean.afterPropertiesSet(OsgiServiceFactoryBean.java:236)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)<br /> ... 37 more<br />Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in URL [bundleentry://55/META-INF/spring/agclinicalservices.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Cannot apply class transformer without LoadTimeWeaver specified<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)<br /> at java.security.AccessController.doPrivileged(Native Method)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)<br /> at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)<br /> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)<br /> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findDefaultEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:507)<br /> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:473)<br /> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.resolveEntityManager(PersistenceAnnotationBeanPostProcessor.java:599)<br /> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.getResourceToInject(PersistenceAnnotationBeanPostProcessor.java:570)<br /> at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:192)<br /> at org.springframework.beans.factory.annotation.InjectionMetadata.injectMethods(InjectionMetadata.java:117)<br /> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:321)<br /> ... 50 more<br />Caused by: java.lang.IllegalStateException: Cannot apply class transformer without LoadTimeWeaver specified<br /> at org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.addTransformer(SpringPersistenceUnitInfo.java:78)<br /> at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:227)<br /> at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:224)<br /> at com.arisglobal.aglite.jpa.AGEntityManagerFactoryBean.createNativeEntityManagerFactory(AGEntityManagerFactoryBean.java:23)<br /> at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:291)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)<br /> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)<br /> ... 66 more<br />removeServiceListener[System Bundle [0]](org.osgi.util.tracker.ServiceTracker$Tracked@cc5436)<br />ungetService[System Bundle [0]]({org.eclipse.osgi.service.runnable.StartupMonitor}={service.ranking=-2147483648, service.id=1})<br />getServiceReferences(org.osgi.service.startlevel.StartLevel, "null")<br />getService[System Bundle [0]]({org.osgi.service.startlevel.StartLevel}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.StartLevelManager, service.vendor=Eclipse.org, service.id=3})<br />removeServiceListener[System Bundle [0]](org.osgi.util.tracker.ServiceTracker$Tracked@bb6086)<br />ungetService[System Bundle [0]]({org.osgi.service.startlevel.StartLevel}={service.ranking=2147483647, service.pid=0.org.eclipse.osgi.framework.internal.core.StartLevelManager, service.vendor=Eclipse.org, service.id=3})<br /><br />Also I see that the springweaver bundle is started from the osgi prompt.<br /><br />id State Bundle<br />0 ACTIVE org.eclipse.osgi_3.3.1.R33x_v20070828<br /> Fragments=1<br />1 RESOLVED org.eclipse.equinox.weaving.hook_1.0.0.200905031323<br /> Master=0<br />2 ACTIVE com.springsource.javax.xml.stream_1.0.1<br />3 ACTIVE org.springframework.context_2.5.6.A<br />4 ACTIVE org.eclipse.equinox.weaving.springweaver_0.1.1<br />5 ACTIVE org.eclipse.persistence.asm_1.1.0<br />6 ACTIVE org.springframework.osgi.mock_1.1.3.RELEASE<br />7 ACTIVE com.springsource.javax.xml.bind_2.0.0<br />8 ACTIVE com.springsource.org.apache.catalina_6.0.18<br /> Fragments=10, 47<br />9 ACTIVE org.springframework.jdbc_2.5.6.A<br />10 RESOLVED com.springsource.org.apache.coyote_6.0.18<br /> Master=8<br />11 ACTIVE org.eclipse.persistence.moxy_1.1.0<br />12 ACTIVE com.springsource.org.apache.taglibs.standard_1.1.2<br />13 ACTIVE org.springframework.osgi.web.extender_1.1.3.RELEASE<br />14 ACTIVE org.springframework.osgi.catalina.start.osgi_1.0.0.SNAPSHOT<br />15 ACTIVE com.springsource.javax.mail_1.4.0<br />16 ACTIVE javax.persistence_1.99.0<br />17 ACTIVE com.springsource.org.aspectj.runtime_1.6.1<br />18 ACTIVE com.springsource.javax.xml.rpc_1.1.0<br />19 INSTALLED org.springframework.osgi.log4j.config_1.0.0<br />20 ACTIVE org.springframework.aspects_2.5.6.A<br />21 ACTIVE org.eclipse.persistence.sdo_1.1.0<br />22 ACTIVE org.springframework.osgi.core_1.1.3.RELEASE<br />23 ACTIVE com.springsource.org.apache.jasper.org.eclipse.jdt_6.0.18<br />24 ACTIVE org.eclipse.persistence.core_1.1.0<br />25 ACTIVE com.springsource.javax.xml.soap_1.3.0<br />26 ACTIVE com.springsource.javax.ejb_3.0.0<br />27 ACTIVE com.springsource.org.apache.commons.beanutils_1.7.0<br />28 ACTIVE org.springframework.web.servlet_2.5.6.A<br />29 ACTIVE com.springsource.javax.servlet.jsp_2.1.0<br />30 ACTIVE org.springframework.web_2.5.6.A<br />31 ACTIVE com.springsource.org.apache.commons.digester_1.8.0<br />32 ACTIVE org.springframework.osgi.extender_1.1.3.RELEASE<br />33 ACTIVE org.eclipse.persistence.jpa_1.1.0<br />34 ACTIVE com.springsource.javax.annotation_1.0.0<br />35 ACTIVE org.springframework.transaction_2.5.6.A<br />36 ACTIVE org.springframework.context.support_2.5.6.A<br />37 ACTIVE com.springsource.org.objectweb.asm_2.2.3<br />38 ACTIVE com.springsource.javax.servlet_2.5.0<br />39 ACTIVE com.springsource.javax.activation_1.1.1<br />40 ACTIVE org.springframework.test_2.5.6.A<br />41 ACTIVE com.springsource.junit_3.8.2<br />42 ACTIVE com.springsource.org.apache.el_6.0.18<br />43 ACTIVE org.springframework.orm_2.5.6.A<br />44 ACTIVE org.springframework.aop_2.5.6.A<br />45 ACTIVE com.springsource.org.apache.commons.logging_1.1.1<br />46 ACTIVE org.eclipse.persistence.antlr_1.1.0<br />47 RESOLVED com.springsource.org.apache.jasper_6.0.18<br /> Master=8<br />48 ACTIVE com.springsource.org.apache.juli.extras_6.0.18<br />49 ACTIVE com.arisglobal.aglite_1.4.0.1<br />50 ACTIVE com.springsource.javax.el_1.0.0<br />51 ACTIVE com.springsource.org.aopalliance_1.0.0<br />52 ACTIVE org.springframework.osgi.io_1.1.3.RELEASE<br />53 ACTIVE org.springframework.osgi.web_1.1.3.RELEASE<br />54 INSTALLED com.springsource.slf4j.log4j_1.5.0<br />55 ACTIVE com.arisglobal.agclinical.osgi.services_1.0.0<br />56 RESOLVED com.springsource.slf4j.jcl_1.5.0<br /> Master=62<br />57 ACTIVE com.springsource.javax.servlet.jsp.jstl_1.1.2<br />58 ACTIVE org.springframework.beans_2.5.6.A<br />59 RESOLVED org.springframework.osgi.test_1.1.3.RELEASE<br />60 ACTIVE com.springsource.org.apache.commons.collections_3.2.0<br />61 ACTIVE com.springsource.javax.xml.ws_2.1.1<br />62 ACTIVE com.springsource.slf4j.api_1.5.0<br /> Fragments=56<br />63 ACTIVE org.springframework.core_2.5.6.A<br /><br />Do you see anything wrong I am doing here?<br /><br />Thanks for your help,<br />ShashiUnknownhttps://www.blogger.com/profile/10635140022211743933noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-16805211715289149692009-04-27T08:21:00.000+02:002009-04-27T08:21:00.000+02:00To be precise here, the bridge that I implemented ...To be precise here, the bridge that I implemented supports all kind of spring weavers that you have: AspectJ, JPA, whatever the future brings... ;-)<br />(The name "Equinox Aspects" suggests something different, I know, but you can do JPA weaving for Spring-DM with that bridge, its just an implementation of the LoadTimeWeaver interface of Spring).<br /><br />Anyway, my bridge between Spring-DM and Equinox Aspects is not meant to be an alternative to dm server. I see it the other way around: dm server could adopt Equinox Aspects as the underlying technology for ltw, if they like. Then dm server could add all the other nice features on top of it?<br /><br />Just some thoughts...<br /><br />Cheers,<br />-MartinMartin Lipperthttps://www.blogger.com/profile/12324741319942962555noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-34136095183575628032009-04-26T23:45:00.000+02:002009-04-26T23:45:00.000+02:00Hi,
thanks for explaining!
IMHO dm Server - as y...Hi,<br /><br />thanks for explaining!<br /><br />IMHO dm Server - as you mention - goes a step further and also supports byte code manipulation for JPA for example. And the scope of that is naturally defined by the application concept introduced by dm Server. Besides LTW it supports other features like WAR deployment and soon also cloning of OSGi bundles etc. That makes it a plug and play solution to many typical OSGi challenges.<br /><br />I believe you could tweak dm Server to not launch a web server (for client usage) and actually I think running OSGi inside an existing Java EE application server is somewhat strange as OSGi needs a different deployment model anyway.<br /><br />At the end of the day it is good to have choice - so keep up the good work! And both projects are Open Source so maybe there can even be some exchange of ideas and code.<br /><br />Best regards,<br /><br />EberhardEberhard Wolffhttps://www.blogger.com/profile/08362870553782434099noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-72897587093199142992009-04-26T22:44:00.000+02:002009-04-26T22:44:00.000+02:00I forgot to mention that Equinox Aspects also impl...I forgot to mention that Equinox Aspects also implements a quite performant cache for manipulated bytecode, providing zero-overhead startup times for the cached scenario. Not sure whether dm server does something similar or not...<br /><br />-MartinMartin Lipperthttps://www.blogger.com/profile/12324741319942962555noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-81575731883559921572009-04-26T15:57:00.000+02:002009-04-26T15:57:00.000+02:00Hi Eberhard!
Thanks for your comment. I am aware ...Hi Eberhard!<br /><br />Thanks for your comment. I am aware of dm Server also implements ltw for OSGi (not only AspectJ, but for all different kinds of lt weavers), but just for the server, not for spring-dm in general, if I remember this correctly. So if you wish to use spring-dm without a server (client-side, just OSGi, whatever) or with a different one (embedding OSGi in WebSphere, WebLogic, Tomcat, Jetty, whatever) or with a different web support (PAX-Web on top of OSGi) you are now able to use ltw for spring-dm with this bridge to Equinox Aspects.<br /><br />Hope that makes the relationship clearer... Does it? ;-)<br /><br />Cheers,<br />-MartinMartin Lipperthttps://www.blogger.com/profile/12324741319942962555noreply@blogger.comtag:blogger.com,1999:blog-18490491.post-83177281249561896512009-04-26T15:51:00.000+02:002009-04-26T15:51:00.000+02:00Great news! However, dm Server also supports load ...Great news! However, dm Server also supports load time weaving for AspectJ. What advantages does your approach offer?Eberhard Wolffhttps://www.blogger.com/profile/08362870553782434099noreply@blogger.com