Thanks for your input .... I played around with multiple packages in import before all the issues got resolved eventually...based on my struggle and eventual experience, it does require a huge patience to resolve all classloader and runtime issues required to start a bundle...
Again appreciate your help... On Thu, Jun 16, 2011 at 11:15 PM, Allen Lau <[email protected]> wrote: > Since bnd doesn't know about the references to spring-aop, > > I don't think org.springframework.aop.* would work, you need explicit > package directives like: > > org.springframework.aop > ,org.springframework.aop.framework > > I tend to try out things with bnd itself if the maven-bundle-plugin isn't > doing what I expected it to do. > > On Thu, Jun 16, 2011 at 8:53 PM, Shamik Bandopadhyay <[email protected] > >wrote: > > > I did try earlier adding the spring aop package explicitely in the > > import-package. But maven plugin bundle won't include it in the manifest > > since its not being referred directly by any class in the package or it > has > > any transitive dependency. I tried including the jar in the bundle, but > > then it results in a namespace handler exception, a catch-22 situation. > > > > <Import-Package>com.test.taxonomy.model.*;version=1.0.0, > > com.autodesk.taxonomy.message.*;version=1.0.0, > > org.springframework.aop.*, > > * > > </Import-Package> > > > > > > > <Embed-Dependency>*;scope=compile|runtime;inline=true;artifactId=!spring-core|spring-asm|spring-aop|spring-beans|spring-context|spring-context-support|spring-expression|spring-tx|commons-collections|commons-logging|org.apache.felix.framework|taxonomymessagebundle|taxonomymodelbundle</Embed-Dependency> > > > > On Thu, Jun 16, 2011 at 5:07 PM, Allen Lau <[email protected]> wrote: > > > > > Have you consider just adding the org.springframework.aop as an import > to > > > the Import-Package directive? > > > > > > Bnd does a great job, but sometime it can't find all of your > dependencies > > > for you. I do not know the specifics > > > why the spring-aop stuff was not detected, but in cases like these, you > > can > > > either manually help Bnd, or dig deeper > > > to see what is going on with the Spring jars. > > > > > > On Thu, Jun 16, 2011 at 1:59 PM, Shamik Bandopadhyay < > [email protected] > > > >wrote: > > > > > > > That kind of gets me into a confused state again. Even if I change my > > > > dependency to point to spring 3.0.5 jars, including spring-aop, the > > > import > > > > package won't include a org.springframework.aop entry since its being > > > > referred in my bundle. Perhaps,spring will use it during runtime > > > > resolution,which thought is the job of the container to do so. I > > > explicitly > > > > excluded the spring packages in embed-dependency since I wanted the > > > > framework to use its native version, which is same as my dependency. > > > Here's > > > > the pom entry: > > > > > > > > <Import-Package>com.autodesk.taxonomy.model.*;version=1.0.0, > > > > com.autodesk.taxonomy.message.*;version=1.0.0, > > > > *;resolution:=optional > > > > </Import-Package> > > > > > > > > > > > > > > > <Embed-Dependency>*;scope=compile|runtime;inline=true;artifactId=!spring-core|spring-asm|spring-beans|spring-aop|spring-context|spring-context-support|spring-expression|spring-tx|commons-collections|commons-logging|org.apache.felix.framework|taxonomymessagebundle|taxonomymodelbundle</Embed-Dependency> > > > > <Embed-Transitive>true</Embed-Transitive> > > > > > > > > Here's the import package in bundle manifest : > > > > > > > > Embed-Dependency: > *;scope=compile|runtime;inline=true;artifactId=!spri > > > > > ng-core|spring-aop|spring-asm|spring-beans|spring-context|spring-cont > > > > > ext-support|spring-expression|spring-tx|commons-collections|commons-l > > > > > ogging|org.apache.felix.framework|taxonomymessagebundle|taxonomymodel > > > > bundle > > > > Import-Package: > com.autodesk.taxonomy.dao.api;resolution:=optional;ver > > > > > sion="1.0",com.autodesk.taxonomy.message;version="1.0.0",com.autodesk > > > > > .taxonomy.model;version="1.0.0",javax.management;resolution:=optional > > > > ,javax.net > ;resolution:=optional,javax.net.ssl;resolution:=optional,or > > > > > g.apache.commons.collections;resolution:=optional;version="3.2",org.a > > > > > pache.commons.logging;resolution:=optional,org.apache.tools.ant;resol > > > > > ution:=optional,org.apache.tools.ant.types;resolution:=optional,org.a > > > > > pache.tools.ant.types.resources;resolution:=optional,org.apache.tools > > > > > .ant.util.regexp;resolution:=optional,org.osgi.framework;resolution:= > > > > > optional;version="1.5",org.springframework.beans.factory;resolution:= > > > > > optional;version="3.0",org.springframework.core;resolution:=optional; > > > > version="3.0",org.springframework.core.io > ;resolution:=optional;versio > > > > > n="3.0",org.springframework.dao;resolution:=optional;version="3.0",or > > > > > g.springframework.dao.support;resolution:=optional;version="3.0",org. > > > > > springframework.transaction;resolution:=optional;version="3.0",org.sp > > > > > ringframework.transaction.annotation;resolution:=optional;version="3. > > > > > 0",org.springframework.transaction.support;resolution:=optional;versi > > > > on="3.0",org.springframework.util;resolution:=optional;version="3.0" > > > > > > > > > > > > On Thu, Jun 16, 2011 at 1:31 PM, Allen Lau <[email protected]> > > wrote: > > > > > > > > > If you read the Spring manual, you'll notice that the > @Transactional > > > > > annotations are supported by Spring-AOP. > > > > > See the following section in the spring 3.x doc, I'm sure Spring > > 2.5.x > > > is > > > > > the same.10.5.1 Understanding the Spring Framework's declarative > > > > > transaction > > > > > implementation > > > > > So you would need spring-aop also. > > > > > > > > > > Allen > > > > > > > > > > On Thu, Jun 16, 2011 at 12:28 PM, Shamik Bandopadhyay < > > > [email protected] > > > > > >wrote: > > > > > > > > > > > Hi, > > > > > > > > > > > > I've run into the following exception when I try to start the > > bundle. > > > > > > > > > > > > *Caused by: > > org.springframework.beans.factory.BeanCreationException: > > > > > Error > > > > > > creating bean with name 'taxonomyDaoLoadImpl' defined in URL > > > > > > [bundle://350.0:0/META-INF/spring/applicationContext.xml]: > > > > Initialization > > > > > > of > > > > > > bean failed; nested exception is > > java.lang.IllegalArgumentException: > > > > > > interface org.springframework.aop.SpringProxy is not visible from > > > class > > > > > > loader* > > > > > > > > > > > > I'm not referring to spring aop package and it doen't reflect in > my > > > > > > import-package as well. Here's my manifest > > > > > > > > > > > > Manifest-Version: 1.0 > > > > > > Export-Package: > com.test.taxonomy.dao.api;uses:="com.autodesk.taxo > > > > > > nomy.message,com.test.taxonomy.model";version="1.0.0" > > > > > > Bundle-ClassPath: . > > > > > > Built-By: bandops > > > > > > Tool: Bnd-0.0.357 > > > > > > Bundle-Name: Taxonomy Dao Impl Bundle > > > > > > Created-By: Apache Maven Bundle Plugin > > > > > > Build-Jdk: 1.6.0_21 > > > > > > Bundle-Version: 1.0.0 > > > > > > Bnd-LastModified: 1308246096716 > > > > > > Embed-Transitive: true > > > > > > Bundle-ManifestVersion: 2 > > > > > > Embed-Dependency: > > > > > > > > > > > > > > > > > > > > > > > > > > > *;scope=compile|runtime;inline=true;artifactId=!spring|commons-collections|commons-logging|org.apache.felix.framework|tax > > > > > > > > > > > > onomymessagebundle|taxonomymodelbundle > > > > > > Import-Package: > com.test.taxonomy.dao.api;resolution:=optional;ver > > > > > > sion="1.0",com.test.taxonomy.message;version="1.0.0",com.test > > > > > > > > > .taxonomy.model;version="1.0.0",javax.management;resolution:=optional > > > > > > ,javax.net > > > ;resolution:=optional,javax.net.ssl;resolution:=optional,or > > > > > > > > > g.apache.commons.collections;resolution:=optional;version="3.2",org.a > > > > > > > > > pache.commons.logging;resolution:=optional,org.apache.tools.ant;resol > > > > > > > > > ution:=optional,org.apache.tools.ant.types;resolution:=optional,org.a > > > > > > > > > pache.tools.ant.types.resources;resolution:=optional,org.apache.tools > > > > > > > > > .ant.util.regexp;resolution:=optional,org.osgi.framework;resolution:= > > > > > > > > > optional;version="1.5",org.springframework.beans.factory;resolution:= > > > > > > > > > optional;version="2.5",org.springframework.core;resolution:=optional; > > > > > > version="2.5",org.springframework.core.io > > > ;resolution:=optional;versio > > > > > > > > > n="2.5",org.springframework.dao;resolution:=optional;version="2.5",or > > > > > > > > > g.springframework.dao.support;resolution:=optional;version="2.5",org. > > > > > > > > > springframework.transaction;resolution:=optional;version="2.5",org.sp > > > > > > > > > ringframework.transaction.annotation;resolution:=optional;version="2. > > > > > > > > > 5",org.springframework.transaction.support;resolution:=optional;versi > > > > > > > > on="2.5",org.springframework.util;resolution:=optional;version="2.5" > > > > > > Bundle-SymbolicName: taxonomydaoimplbundle > > > > > > > > > > > > > > > > > > Here's a snippet from my pom entry : > > > > > > > > > > > > <dependency> > > > > > > <groupId>org.springframework</groupId> > > > > > > <artifactId>spring</artifactId> > > > > > > <version>2.5.5</version> > > > > > > </dependency> > > > > > > > > > > > > <configuration> > > > > > > <instructions> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <Export-Package>com.autodesk.taxonomy.dao.api;version=1.0.0</Export-Package> > > > > > > > <Import-Package>com.autodesk.taxonomy.model.*;version=1.0.0, > > > > > > com.autodesk.taxonomy.message.*;version=1.0.0, > > > > > > *;resolution:=optional > > > > > > </Import-Package> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <Embed-Dependency>*;scope=compile|runtime;inline=true;artifactId=!spring|commons-collections|commons-logging|org.apache.felix.framework|taxonomymessagebundle|taxonomymodelbundle</Embed-Dependency> > > > > > > <Embed-Transitive>true</Embed-Transitive> > > > > > > > <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> > > > > > > <Bundle-Version>${pom.version}</Bundle-Version> > > > > > > > <Bundle-ClassPath>.,{maven-dependencies}</Bundle-ClassPath> > > > > > > <Include-Resource> > > > > > > {maven-resources}, {maven-dependencies > > > > </Include-Resource> > > > > > > </instructions> > > > > > > </configuration> > > > > > > > > > > > > > > > > > > Not sure why I'm getting this exception since I'm not using aop > > > > anywhere > > > > > in > > > > > > my application. I'm using @Transactional annotation in the > service > > > code > > > > > > inside my bundle which is part of Spring-tx and not aop. > > > > > > > > > > > > Since the container have spring-aop bundle, why the classloader > is > > > not > > > > > able > > > > > > to resolve it ? > > > > > > Any pointers will be highly appreciated. > > > > > > > > > > > > -Thanks > > > > > > > > > > > > > > > > > > > > >

