Search code examples
javarestosgicxfblueprint-osgi

Unknown namespace for jpa - ServiceMix


I'm trying to follow a simple tutorial, exposing a simple CRUD interface as a REST service using blueprint github link to tutorial code

when deployed to serviceMix, I get the following error:

java.lang.IllegalArgumentException: Unknown namespace for jpa: http://cxf.apache.org/schemas/configuration/cxf-beans.xsd

I have no idea why, I installed the same features as the tutorial features

And I have the same maven dependencies dependencies

My bundle:list gives the following list of bundles

The bundles with state:failure are failing because of this problem

Any ideas ?

Update 1 :

content of blueprint blueprint

i'm also using blueprint-maven-plugin which generates the following generated blueprint

Update 2 :

as suggested by Christian Schneider, installing aries-jpa 2.5.0 solved the problem, one weird thing happened though : before, when I had the 2.3.0 version installed, I had the following aries related bundles installed :

254 | Active  |  80 | 2.3.0 | Apache Aries JPA Container API
255 | Active  |  80 | 2.3.0 | Apache Aries JPA blueprint
256 | Active  |  80 | 2.3.0 | Apache Aries JPA container
257 | Active  |  80 | 2.3.0 | Apache Aries JPA support

now that I have the 2.5.0, those bundles are no longer shown when doing bundle:list

feature:list shows the following

jpa| 2.5.0|| Started| aries-jpa-2.5.0| OSGi Persistence Container

So the question is, should I be concerned that those bundles are no longer shown ?


Solution

  • Thanks for the blueprint content. I was on the wrong track with my first answer.

    The reason for the error is the issue ARIES-1600 in aries jpa. The issue is fixed in Aries JPA 2.5.0. You can use it by adding this feature repo url to your feature:

    mvn:org.apache.aries.jpa/jpa-features/2.5.0/xml/features
    

    If you install from command line you can install it using:

    feature:repo-add aries-jpa 2.5.0