(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