According to your resource, the Spring has find the the resource in classpath ( 
the url contains's the bundle id)

But it seems the db4o is trying to use the classpath resource as a File. 
Makesure if Db4o.openFile() can accept a classpath resource. if it cannot, Your 
exception will be reasonable;( I am not familiar with db4o, you can try it)

I guess the exception is throw from Db4o, not from spring , is it?


> -----original-----
> Sender: Shamik Bandopadhyay [mailto:[email protected]]
> Date: 2011/6/15 9:25
> Receiver: [email protected]
> Subject: Re: Spring resource classpath issue
> 
> Well, even with setting the context class loader through activator, it
> didn't work out. I'm still facing the issue, not sure what else I can
> do at this point. I saw the following article which confirms that
> spring dm takes care of the thread context loader issue.
> 
> http://blog.springsource.com/2008/05/02/running-spring-applications-on-osg
> i-with-the-springsource-application-platform/
> 
> On Tue, Jun 14, 2011 at 11:40 AM, Shamik Bandopadhyay <[email protected]>
> wrote:
> > Thanks for the link John...my understanding was spring-extender is
> > supposed to take care of setting the right classloader instead of us
> > doing it explicitly in activator. It doesn't seem to be very
> > efficient. I'll give it a try by writing an activator and load the
> > Spring application context ....
> >
> > On Tue, Jun 14, 2011 at 7:25 AM,  <[email protected]> wrote:
> >> Take a look at this,
> >>
> http://www.dynamicjava.org/articles/osgi-matters/3rd-party-components-with
> -osgi/11-osgi-matters/43-3rd-party-components-incompatibility-problems?tmp
> l=component&print=1&page=
> >>
> >> Quoting Shamik Bandopadhyay <[email protected]>:
> >>
> >>> Well, that's the part which is puzzling. I don't see any reason why
> >>> Spring would use a seperate classloader.I've even tried including the
> >>> db4o file under
> >>>
> >>>
> <input-resource>META-INF/spring/repo/test.db4o=target/classes/META-INF/spr
> ing/repo/test.db4o</input-reource>
> >>> , but issue remains the same...
> >>>
> >>> On Mon, Jun 13, 2011 at 12:42 PM,  <[email protected]> wrote:
> >>>>
> >>>> I'm no expert but my best guess would be that spring is trying to load
> >>>> the
> >>>> file from the wrong classloader. If I'm reading the spring source
> >>>> correctly,
> >>>> it will attempt to load "classpath:META-INF/spring/repo/test.db4o" from
> >>>> Thread.currentThread().getContextClassLoader() and then from
> >>>> ClassUtils.class.getClassLoader() if that fails. That's my 2 cents
> >>>> anyway.
> >>>>
> >>>> Quoting Shamik Bandopadhyay <[email protected]>:
> >>>>
> >>>>> The file is in the same bundle and located inside
> >>>>> src/resources/META-INF/spring/repo/test.db4o. I've confirmed this in
> >>>>> the generated bundle as well.
> >>>>>
> >>>>> On Mon, Jun 13, 2011 at 8:40 AM, Tribon Cheng <[email protected]>
> >>>>> wrote:
> >>>>>>
> >>>>>> Resources are loaded in the same way as classes. Make sure the file is
> >>>>>> under
> >>>>>> the classpath, and is exported if it is used in different bundle.
> >>>>>> 在 2011-6-13 下午11:25,"Shamik Bandopadhyay" <[email protected]>写
> 道:
> >>>>>>>
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>> I'm trying to deploy a spring based bundle in osgi (fuse esb).In
> >>>>>>> spring context, I'm referring to a db4o file which is inside resources
> >>>>>>> folder. As per my understanding, a maven project will make sure that
> >>>>>>> any file available under resources folder will be available in project
> >>>>>>> classpath. I've kept the file under
> >>>>>>> resources/META-INF/spring/repo/test.db4o.
> >>>>>>>
> >>>>>>> Here's the entry in spring context.
> >>>>>>>
> >>>>>>> <bean id="objectContainer"
> >>>>>>> class="org.springmodules.db4o.ObjectContainerFactoryBean">
> >>>>>>>    <property name="databaseFile"
> >>>>>>> value="classpath:META-INF/spring/repo/test.db4o" />
> >>>>>>> </bean>
> >>>>>>>
> >>>>>>> Once I install and try to start the application, I'm getting the
> >>>>>>> following exception.
> >>>>>>>
> >>>>>>> "java.io.FileNotFoundException: OSGi
> >>>>>>> resource[classpath:META-INF/spring/repo/test.db4o|bnd.id
> >>>>>>
> >>>>>> =258|bnd.sym=taxonomydaoimplbundle]
> >>>>>>>
> >>>>>>> cannot be resolved to absolute file path because it does not reside
> in
> >>>>>>> the file system: bundle://258.0:1/META-INF/spring/repo/test.db4o"
> >>>>>>>
> >>>>>>> I've tried different combinations, but Felix doesn't seem to recognize
> >>>>>>> this file. Any pointer will be appreciated.
> >>>>>>>
> >>>>>>> - Thanks
> >>>>>>>
> >>>>>>>
> ---------------------------------------------------------------------
> >>>>>>> To unsubscribe, e-mail: [email protected]
> >>>>>>> For additional commands, e-mail: [email protected]
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>>
> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: [email protected]
> >>>>> For additional commands, e-mail: [email protected]
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: [email protected]
> >>>> For additional commands, e-mail: [email protected]
> >>>>
> >>>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [email protected]
> >>> For additional commands, e-mail: [email protected]
> >>>
> >>>
> >>
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to