(sorry for disturbing you yet)

Ok, I did
karaf@root()> service:list DataSource
karaf@root()> jdbc:ds-create -dn derby -url
"jdbc:derby:fancyfoods;create=true" fancyfoods
karaf@root()> service:list DataSource
[javax.sql.DataSource]
----------------------
 dataSourceName = fancyfoods
 osgi.jdbc.driver.name = derby
 osgi.jndi.service.name = fancyfoods
 service.bundleid = 218
 service.factoryPid = org.ops4j.datasource
 service.id = 238
 service.pid = org.ops4j.datasource.021033f9-d68f-4b5c-b778-90bbb1b948e9
 service.scope = singleton
 url = jdbc:derby:fancyfoods;create=true
Provided by : 
 OPS4J Pax JDBC Config (218)

[javax.sql.DataSource]
----------------------
 dataSourceName = fancyfoods
 osgi.jdbc.driver.name = derby
 osgi.jndi.service.name = fancyfoods
 service.bundleid = 218
 service.factoryPid = org.ops4j.datasource
 service.id = 239
 service.pid = org.ops4j.datasource.021033f9-d68f-4b5c-b778-90bbb1b948e9
 service.scope = singleton
 url = jdbc:derby:fancyfoods;create=true
Provided by : 
 OPS4J Pax JDBC Config (218)

and I see the configuration in the web console. But referring to my tutorial
there must exist two data sources:

EmbeddedDataSource and
EmbeddedXADataSource for distributed transaction (JTA)

How I achieve the second one?

Then my Fancyfood persistence bundle does not start, because 

karaf@root()> diag 288
Fancyfoods Persistence (288)
----------------------------
Status: Failure
Declarative Services
Blueprint
11.06.18, 18:23
Exception: 
Unable to validate xml
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to
validate xml
        at org.apache.aries.blueprint.parser.Parser.validate(Parser.java:349)
        at org.apache.aries.blueprint.parser.Parser.validate(Parser.java:336)
        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:345)
        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:278)
        at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:299)
        at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:268)
        at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:264)
        at
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:254)
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
        at
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)
        at
org.apache.felix.framework.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730)
        at
org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:485)
        at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4579)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2174)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373)
        at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
        at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: org.xml.sax.SAXParseException; cvc-complex-type.2.4.c:
xDCbereinstimmungsplatzhalter ist streng, aber es kann keine Deklaration
fxFCr Element 'jpa:context' gefunden werden.
        at
java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)
        at
java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:135)
        at
java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:395)
        at
java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:326)
        at
java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:283)
        at
java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:510)
        at
java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3587)
        at
java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:2142)
        at
java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:828)
        at
java.xml/com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.beginNode(DOMValidatorHelper.java:277)
        at
java.xml/com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.validate(DOMValidatorHelper.java:244)
        at
java.xml/com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.validate(DOMValidatorHelper.java:190)
        at
java.xml/com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:108)
        at java.xml/javax.xml.validation.Validator.validate(Validator.java:124)
        at org.apache.aries.blueprint.parser.Parser.validate(Parser.java:346)
        ... 20 more

where the blueprint.xml looks like

<blueprint 
        xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
        xmlns:jpa="http://aries.apache.org/xmlns/jpa/v2.0.0";
        xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.0.0";>

        <bean id="inventory" class="fancyfoods.persistence.InventoryImpl">
                <tx:transaction method="*" value="Required"/>
                <jpa:context property="entityManager" unitname="fancyfoods"/>
        </bean> 
        
        <service ref="inventory" interface="fancyfoods.foods.Inventory"/>
        
        <bean id="populator" class="fancyfoods.persistence.InventoryPopulator"
init-method="populate" activation="eager">
                <property name="inventory" ref="inventory"></property>
        </bean>
</blueprint>



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html

Reply via email to