Ok, following the instructions at the end of the page pointed to by the link
below I could solve this issue :)
cheers,
janos

2008/5/6 János Jarecsni <[EMAIL PROTECTED]>:

> Hi all,
>
> I've found an answer to this from Howard (
> http://article.gmane.org/gmane.comp.java.tapestry.user/53987 ). He says: "
> *Basically, you shouldn't mix component classes with services classes.
> When you do so, you need to define an interface for your components to
> implement.*"
>
> Here's what I did:
> 1) I set up a service called AdminDataSource which is a simple DAO with a
> DB4O implementation to store management objects for components.
>
> 2) Defined a ComponentConfiguration interface which is a marker interface
> for classes to be used as component configuration
>
> 3) in my base class for components (AbstractComponent) I introduced
> methods to save and load the configuration (they delegate to the injected
> service, AdminDataSource to get the work done).
>
> I think this is a rather common scenario, that a component uses a service.
> How could I have avoided this? By instantiating an AdminDataSource for the
> component (no service involved)?
>
> thx in advance,
> janos
>
> 2008/5/5 János Jarecsni <[EMAIL PROTECTED]>:
>
> Hi guys,
> >
> > I get this:
> >
> > loader constraint violation: when resolving interface method
> > "com.foo.services.AdminDataSource.getConfiguration(Lcom/foo/base/Component;)Lcom/foo/services/ComponentConfiguration;"
> > the class loader (instance of
> > org/apache/tapestry/internal/services/ComponentInstantiatorSourceImpl$PackageAwareLoader)
> > of the current class, com/foo/base/AbstractComponent, and the class loader
> > (instance of org/apache/catalina/loader/WebappClassLoader) for resolved
> > class, com/foo/services/AdminDataSource, have different Class objects for
> > the type com/foo/base/Component used in the signature
> >
> > What I can see from this, is two different class loaders load some
> > classes. What I have is a component class trying to use a service of mine.
> > What am I doing wrong? :)
> >
> > Thx in advance!
> > Cheers
> > janos
> >
>
>

Reply via email to