Actually a more complete log says:

2016-07-06 13:35:13,732 | INFO  | nsole user karaf |
PersistenceBundleTracker         | er.impl.PersistenceBundleTracker  102 |
Found persistence unit filetransferhistoryPU in bundle
se.digia.connect.services.filetransfer.history-domain with provider
org.apache.openjpa.persistence.PersistenceProviderImpl.
2016-07-06 13:35:13,733 | INFO  | nsole user karaf |
PersistenceBundleTracker         | er.impl.PersistenceBundleTracker   93 |
Persistence units added for bundle
se.digia.connect.services.filetransfer.history-domain event 128
2016-07-06 13:35:13,733 | INFO  | nsole user karaf | bundle
          | ?                                   ? | Bundle Considered for
SPI providers: se.digia.connect.services.filetransfer.history-domain
2016-07-06 13:35:13,734 | INFO  | nsole user karaf | bundle
          | ?                                   ? | No 'SPI-Provider'
Manifest header. Skipping bundle:
se.digia.connect.services.filetransfer.history-domain

This sounds like the persistence units have been added but there is
something wrong with the "SPI-provider".

/Bengt


2016-07-06 13:36 GMT+02:00 Bengt Rodehav <be...@rodehav.com>:

> I do have the correct information in the manifest:
>
> Meta-Persistence: META-INF/persistence.xml
>
> But I think this indicates that something is wrong:
>
> 2016-07-06 13:35:13,733 | INFO  | nsole user karaf | bundle
>             | ?                                   ? | Bundle Considered for
> SPI providers: se.digia.connect.services.filetransfer.history-domain
> 2016-07-06 13:35:13,734 | INFO  | nsole user karaf | bundle
>             | ?                                   ? | No 'SPI-Provider'
> Manifest header. Skipping bundle:
> se.digia.connect.services.filetransfer.history-domain
>
>
> What is the SPI-provider?
>
> /Bengt
>
> 2016-07-06 11:04 GMT+02:00 Christian Schneider <ch...@die-schneider.net>:
>
>> If no EntityManagerFactory service is created then this is not a problem
>> with the blueprint.
>> Do you have the Meta-Persistence manifest entry?
>> See
>>
>> https://github.com/cschneider/Karaf-Tutorial/blob/master/tasklist-ds/model/bnd.bnd
>>
>> As soon as you have the entry you should see in the log that Aries JPA
>> parses the persistence xml and tries to create the EMF. It should report in
>> the log if something is missing.
>>
>> For the blueprint you have to add the enable Elements for jpa and tx as
>> they create the interceptors.
>>
>> Christian
>>
>>
>> On 06.07.2016 10:51, Bengt Rodehav wrote:
>>
>> Having problems getting this to work. I get the following in the log
>> file:
>>
>> 2016-07-06 10:46:54,710 | INFO  | nsole user karaf | bundle
>>             | ?                                   ? | Bundle Considered for
>> SPI providers: se.digia.connect.services.filetransfer.history-db
>> 2016-07-06 10:46:54,710 | INFO  | nsole user karaf | bundle
>>             | ?                                   ? | No 'SPI-Provider'
>> Manifest header. Skipping bundle:
>> se.digia.connect.services.filetransfer.history-db
>>
>> No EntityManagerFactory service is being created.
>>
>> Looks like I've missed something. The only changes I've made is the
>> blueprint xml and the injection of the EntityManager using the annotation.
>> Do I need to change anything else, like the persistence.xml?
>>
>> /Bengt
>>
>> 2016-07-06 10:24 GMT+02:00 Bengt Rodehav <be...@rodehav.com>:
>>
>>> OK - thanks Christian. Will try the annotations.
>>>
>>> /Bengt
>>>
>>> 2016-07-06 10:18 GMT+02:00 Christian Schneider <
>>> <ch...@die-schneider.net>ch...@die-schneider.net>:
>>>
>>>> Hi Bengt,
>>>>
>>>> Aries JPA 2 only supports the annotations. You can install Aries JPA
>>>> 1.x into karaf 4.0.5 if you want the old xml style.
>>>>
>>>> Christian
>>>>
>>>>
>>>> On 06.07.2016 09:58, Bengt Rodehav wrote:
>>>>
>>>> I'm migrating from Karaf 2.4.1 to 4.0.5. I also go from JPA 1.0 to 2.0.
>>>>
>>>> Previously my Blueprint XML looked like this:
>>>>
>>>>
>>>> *<?xml version="1.0" encoding="UTF-8"?>*
>>>> *<blueprint xmlns="
>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0>http://www.osgi.org/xmlns/blueprint/v1.0.0
>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0>" xmlns:xsi="
>>>> <http://www.w3.org/2001/XMLSchema-instance>http://www.w3.org/2001/XMLSchema-instance
>>>> <http://www.w3.org/2001/XMLSchema-instance>"*
>>>> *  xsi:schemaLocation="
>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0>http://www.osgi.org/xmlns/blueprint/v1.0.0
>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0>" xmlns:tx="
>>>> <http://aries.apache.org/xmlns/transactions/v1.0.0>http://aries.apache.org/xmlns/transactions/v1.0.0
>>>> <http://aries.apache.org/xmlns/transactions/v1.0.0>"*
>>>> *  xmlns:jpa="
>>>> <http://aries.apache.org/xmlns/jpa/v1.0.0>http://aries.apache.org/xmlns/jpa/v1.0.0
>>>> <http://aries.apache.org/xmlns/jpa/v1.0.0>">*
>>>>
>>>> *  <bean id="messageService"
>>>> class="se.digia.connect.iso20022.history.impl.MessageHistoryService">*
>>>> *    <tx:transaction method="*" value="RequiresNew" />*
>>>> *    <jpa:context property="entityManager" unitname="iso20022PU" />*
>>>> *  </bean>*
>>>>
>>>> *  <service ref="messageService"
>>>> interface="se.digia.connect.iso20022.history.api.IMessageHistoryService" />
>>>>  *
>>>>
>>>> *</blueprint>*
>>>>
>>>>
>>>> I have now changed to:
>>>>
>>>> *<?xml version="1.0" encoding="UTF-8"?>*
>>>> *<blueprint xmlns="
>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0>http://www.osgi.org/xmlns/blueprint/v1.0.0
>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0>" xmlns:xsi="
>>>> <http://www.w3.org/2001/XMLSchema-instance>http://www.w3.org/2001/XMLSchema-instance
>>>> <http://www.w3.org/2001/XMLSchema-instance>"*
>>>> *  xsi:schemaLocation="
>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0>http://www.osgi.org/xmlns/blueprint/v1.0.0
>>>> <http://www.osgi.org/xmlns/blueprint/v1.0.0>" xmlns:tx="
>>>> <http://aries.apache.org/xmlns/transactions/v1.2.0>http://aries.apache.org/xmlns/transactions/v1.2.0
>>>> <http://aries.apache.org/xmlns/transactions/v1.2.0>"*
>>>> *  xmlns:jpa="
>>>> <http://aries.apache.org/xmlns/jpa/v2.0.0>http://aries.apache.org/xmlns/jpa/v2.0.0
>>>> <http://aries.apache.org/xmlns/jpa/v2.0.0>"> <!-- tjoho -->*
>>>>
>>>> *  <bean id="messageService"
>>>> class="se.digia.connect.iso20022.history.impl.MessageHistoryService">*
>>>> *    <tx:transaction method="*" value="RequiresNew" />*
>>>> *    <jpa:context property="entityManager" unitname="iso20022PU" />*
>>>> *  </bean>*
>>>>
>>>> *  <service ref="messageService"
>>>> interface="se.digia.connect.iso20022.history.api.IMessageHistoryService" 
>>>> />*
>>>>
>>>> *</blueprint>*
>>>>
>>>> On Karaf startup I get the following error:
>>>>
>>>> *2016-07-06 09:46:42,154 | ERROR | rint Extender: 2 |
>>>> BlueprintContainerImpl           | container.BlueprintContainerImpl  437 |
>>>> Unable to start blueprint container for bundle
>>>> se.digia.connect.services.filetransfer.history-db/2.8.0.SNAPSHOT*
>>>> *org.osgi.service.blueprint.container.ComponentDefinitionException:
>>>> Unable to validate xml*
>>>> * at
>>>> org.apache.aries.blueprint.parser.Parser.validate(Parser.java:349)[25:org.apache.aries.blueprint.core:1.6.1]*
>>>> * at
>>>> org.apache.aries.blueprint.parser.Parser.validate(Parser.java:336)[25:org.apache.aries.blueprint.core:1.6.1]*
>>>> * at
>>>> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:343)[25:org.apache.aries.blueprint.core:1.6.1]*
>>>> * at
>>>> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[25:org.apache.aries.blueprint.core:1.6.1]*
>>>> * at
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_74]*
>>>> * at
>>>> java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_74]*
>>>> * at
>>>> org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)[25:org.apache.aries.blueprint.core:1.6.1]*
>>>> * at
>>>> org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[25:org.apache.aries.blueprint.core:1.6.1]*
>>>> * at
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_74]*
>>>> * at
>>>> java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_74]*
>>>> * at
>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_74]*
>>>> * at
>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_74]*
>>>> * at
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_74]*
>>>> * at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_74]*
>>>> * at java.lang.Thread.run(Thread.java:745)[:1.8.0_74]*
>>>> *Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The
>>>> matching wildcard is strict, but no declaration can be found for element
>>>> 'jpa:context'.*
>>>> * at
>>>> org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown
>>>> Source)[:]*
>>>> * at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown
>>>> Source)[:]*
>>>> * at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown
>>>> Source)[:]*
>>>> * at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown
>>>> Source)[:]*
>>>> * at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown
>>>> Source)[:]*
>>>> * at
>>>> org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown
>>>> Source)[:]*
>>>> * at
>>>> org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown
>>>> Source)[:]*
>>>> * at
>>>> org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown
>>>> Source)[:]*
>>>> * at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown
>>>> Source)[:]*
>>>> * at
>>>> org.apache.xerces.jaxp.validation.DOMValidatorHelper.beginNode(Unknown
>>>> Source)[:]*
>>>> * at
>>>> org.apache.xerces.jaxp.validation.DOMValidatorHelper.validate(Unknown
>>>> Source)[:]*
>>>> * at
>>>> org.apache.xerces.jaxp.validation.DOMValidatorHelper.validate(Unknown
>>>> Source)[:]*
>>>> * at org.apache.xerces.jaxp.validation.ValidatorImpl.validate(Unknown
>>>> Source)[:]*
>>>> * at javax.xml.validation.Validator.validate(Unknown Source)[:2.7.0]*
>>>> * at
>>>> org.apache.aries.blueprint.parser.Parser.validate(Parser.java:346)[25:org.apache.aries.blueprint.core:1.6.1]*
>>>> * ... 14 more*
>>>>
>>>> I read at http://aries.apache.org/modules/jpaproject.html that
>>>> annotations can now be used for the injection of the perstence unit
>>>> context. But, is it the only way to do it? Is there no way to do it using
>>>> the jpa:context element anymore?
>>>>
>>>> /Bengt
>>>>
>>>>
>>>>
>>>> --
>>>> Christian Schneiderhttp://www.liquid-reality.de
>>>>
>>>> Open Source Architecthttp://www.talend.com
>>>>
>>>>
>>>
>>
>>
>> --
>> Christian Schneiderhttp://www.liquid-reality.de
>>
>> Open Source Architecthttp://www.talend.com
>>
>>
>

Reply via email to