all,

Adding @Instantiate annotation to the service provider component fixed the
issue.
I hope it will be added to the official annotation tutorial page in the
future.


thank you,
nobu



On 21 July 2016 at 15:27, Harunobu Oyama <[email protected]> wrote:

> Hi,
>
>
> I have just started learning iPojo as the component framework for my karaf
> application.
>
> I tried their maven tutorial, which has three bundles, interface, service
> provider, and client.
> It uses metadata.xml to provide meta data for iPojo. It worked fine as
> expected.
>
> When I moved onto annotation based approach, I did the followings.
>   - removed metadata.xml from service provider and client
>   - added dependency to ipojo annotation package
>   - added annotations to the service provider source code and client
> source code
>
> However, it did not work.
>
> By having a closer look, it turned out that the client was working fine
> but the service
> provider was not working properly.
>
> The annotations I added to the service provider class were
>   - @Component      and
>   - @Provides
> as shown on their annotation tutorial.
>
>
> The bundle state on the web client showed some difference between xml
> based service
> provider and the annotation based service provider.
>
> XML based service provider's status shows:
>
> Service ID 183 Types: org.apache.felix.ipojo.extender.TypeDeclaration
> Service ID 184 Types: org.apache.felix.ipojo.extender.InstanceDeclaration
> Service ID 185 Types: org.apache.felix.ipojo.Factory
>                 Service PID: HelloProviderrr
> Service ID 186 Types: org.apache.felix.ipojo.architecture.Architecture
> Service ID 187 Types: ipojo.example.hello.Hello
>
>
> while Annotation based one does not show Service ID 183, 186, or 187.
> And also iPOJO-Components does not have instance attribute, which exists
> in XML based version. It looks like the instance attribute was created from
> <instance> element of the metadata.xml.
>
>
> Could somebody tell me how to fix the difference?
>
> thank you,
> Harunobu Oyama
>
>
>
>
>
>

Reply via email to