felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Allen Lau <allen....@gmail.com>
Subject Re: SpringProxy is not visible from class loader
Date Fri, 17 Jun 2011 00:07:49 GMT
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 <shamikb@gmail.com>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 <allen.lau@gmail.com> 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 <shamikb@gmail.com
> > >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
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message