Missing "javax.persistence.EntityManagerFactory" when deploying a Hibernate-based application in a Fuse fabric

Solution Verified - Updated -

Issue

An application based on Hibernate, and built using Maven, is deployed in a fabric; the necessary features (including the hibernate feature, of course) appear to be correctly installed in the fabric profile along with the application components. However, when the profile is applied to a container, initialization fails, and the following exception is raised in the container log:

org.osgi.service.resolver.ResolutionException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=mybundle; type=osgi.bundle; version="[1.0.1.SNAPSHOT,1.0.1.SNAPSHOT]"; resolution:=mandatory [caused by: Unable to resolve mybundle/1.0.1.SNAPSHOT: missing requirement [mybundle/1.0.1.SNAPSHOT] osgi.service; effective:=active; filter:="(objectClass=javax.persistence.EntityManagerFactory)"]
    at org.apache.felix.resolver.Candidates.populateResource(Candidates.java:285)
    at org.apache.felix.resolver.Candidates.processCandidates(Candidates.java:454)

Environment

  • Red Hat JBoss Fuse
    • 6.2.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content