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
> >
>

Reply via email to