Hi,

the goal is simple: configure some JPA properties via ConfigAdmin (so, no
need to re-deploy a bundle fo simple tweaks).

In the example, the configurable property is javax.persistence.jdbc.url but
it could be applied to any property (e.g. it would be nice to set the
logging level of the chosen JPA implementation).

Luca

On Tue, Jan 31, 2012 at 18:00, Timothy Ward <[email protected]> wrote:

>  Hi,
>
> That's not an error I have seen before, and it has me a little stumped. I
> can look into it, but I can also warn you that EXTENDED scope
> EntityManagers are only supported by the Aries EJB component (Extended
> scope is defined in terms of Stateful Session Beans). What is it that you
> are trying to accomplish?
>
> Tim Ward
> -------------------
> Apache Aries PMC member & Enterprise OSGi advocate
> Enterprise OSGi in Action (http://www.manning.com/cummins)
> -------------------
>
>
> ------------------------------
> Date: Tue, 31 Jan 2012 11:51:39 +0100
> Subject: JPA extended persistence exception
> From: [email protected]
> To: [email protected]
>
>
> Hi,
> I've deployed the following blueprint xml on Karaf (2.2.5) :
>
> <blueprint
>  xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>  xmlns:jpa="http://aries.apache.org/xmlns/jpa/v1.1.0";
>  xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0";>
>
>  <cm:property-placeholder persistent-id="DM-CFG">
>    <cm:default-properties>
>      <cm:property name="jdbc.url"
> value="jdbc:derby:./data/jpa;create=true"/>
>    </cm:default-properties>
>  </cm:property-placeholder>
>
>  <bean id="DM" class="lb.sandbox.osgi.jpa.DataManager" init-method="init">
>    <jpa:context property="em" unitname="LBU" type="EXTENDED">
>      <map>
>        <entry key="javax.persistence.jdbc.url" value="${jdbc.url}"/>
>      </map>
>    </jpa:context>
>   </bean>
>
>   <service ref="DM" interface="lb.sandbox.osgi.jpa.IDataManager"/>
>
> </blueprint>
>
> But I got the following exception even the example has been taken from the
> Aries webpage :
>
> 2012-01-20 15:55:22,471 | ERROR | rint Extender: 1 |
> BlueprintContainerImpl           | container.BlueprintContainerImpl  358 |
> 9 - org.apache.aries.blueprint - 0.3.1 | Unable to start blueprint
> container for bundle lb.sandbox.osgi.jpa
> org.osgi.service.blueprint.container.ComponentDefinitionException: Unable
> to validate xml
>         at
> org.apache.aries.blueprint.container.Parser.validate(Parser.java:288)[9:org.apache.aries.blueprint:0.3.1]
>
>         at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:275)[9:org.apache.aries.blueprint:0.3.1]
>
>         at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:227)[9:org.apache.aries.blueprint:0.3.1]
>
>         at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_29]
>
>         at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_29]
>
>         at
> java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_29]
>         at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_29]
>
>         at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_29]
>
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_29]
>
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_29]
>
>         at java.lang.Thread.run(Thread.java:662)[:1.6.0_29]
> Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid
> content was found starting with element 'map'. One of '{"
> http://aries.apache.org/xmlns/jpa/v1.1.0":map}' is expected.
>         at
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)[:1.6.0_29]
>
>         at
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)[:1.6.0_29]
>
>         at
> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)[:1.6.0_29]
>
>         at
> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)[:1.6.0_29]
>
>         at
> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:417)[:1.6.0_29]
>
>         at
> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3182)[:1.6.0_29]
>
>         at
> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1806)[:1.6.0_29]
>
>         at
> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:705)[:1.6.0_29]
>
>         at
> com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.beginNode(DOMValidatorHelper.java:273)[:1.6.0_29]
>
>         at
> com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.validate(DOMValidatorHelper.java:240)[:1.6.0_29]
>
>         at
> com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.validate(DOMValidatorHelper.java:186)[:1.6.0_29]
>
>         at
> com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:104)[:1.6.0_29]
>
>         at
> javax.xml.validation.Validator.validate(Validator.java:127)[:1.6.0_29]
>         at
> org.apache.aries.blueprint.container.Parser.validate(Parser.java:285)[9:org.apache.aries.blueprint:0.3.1]
>
>         ... 10 more
>
> What's wrong ?
>
>

Reply via email to