felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brad Cox <b...@virtualschool.edu>
Subject Re: JDOM Bundle Problems
Date Mon, 17 Nov 2008 00:34:27 GMT
Totally confused now; that seems to be saying the LogTransform factory 
(service) produces instances of itself. Or was that a typo.

I thought I understood before but maybe not. The pattern I'm following 
is that each component X needs for classes:

	XService (factory interface)
	XServiceImpl (factory implementation)
	X (instance interface)
	XImpl (instance implementation)

And that manifest declares what kind of instance the factory creates. By 
that understanding it would look what I have

<ipojo>
	<component classname="com.gestalt.soakit.core.XService">
		<provides/>
	</component>
	<instance component="com.gestalt.soakit.core.X"/>
</ipojo>

Might giving an interface where an impl is expected might cause that 
class loader problem. Will try that.



Richard S. Hall wrote:
> Brad Cox wrote:
> I am a little confused, it seems there are lots of types involved here.
> 
> In your activator you seem to be creating a LogTransformServiceImpl, but 
> you are registering it as a ComponentService. In your iPOJO descriptor 
> it appears you have the service interface as the component 
> implementation class (i.e., LogTransformService instead of 
> LogTransformServiceImpl) and then you are trying to create an instance 
> of "LogTransform", which is something else altogether.
> 
> I would guess your iPOJO descriptor should look something like this:
> 
> <ipojo>
>    <component 
> classname="com.gestalt.soakit.transform.log.LogTransformServiceImpl">
>        <provides/>
>    </component>
>    <instance 
> component="com.gestalt.soakit.transform.log.LogTransformServiceImpl"/>
> </ipojo>
> 
> I don't think this will fix the class format exception, though.
> 



Mime
View raw message