[
https://issues.apache.org/jira/browse/ARIES-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16140068#comment-16140068
]
Matt Pavlovich commented on ARIES-1355:
---------------------------------------
Following up with more details on this issue:
In many cases, we have to drop to native queries specific to database vendor in
order to achieve desired performance (looking at you Oracle). Allowing the PU
name to be configurable, allows us to have a key to change which native queries
to leverage as well.
Thanks
> blueprint-jpa does not interpolate configuration properties
> -----------------------------------------------------------
>
> Key: ARIES-1355
> URL: https://issues.apache.org/jira/browse/ARIES-1355
> Project: Aries
> Issue Type: Bug
> Components: Blueprint
> Affects Versions: blueprint-cm-1.0.6
> Reporter: Matt Pavlovich
>
> When attempting to wire in the persistent unit name from a cm property, aries
> jpa does not interpolate the value, and instead tries to lookup the ${name}
> literally.
> {noformat}
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:camel="http://camel.apache.org/schema/blueprint"
> xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
> xmlns:jpa="http://aries.apache.org/xmlns/jpa/v1.1.0"
> xmlns:tx="http://aries.apache.org/xmlns/transactions/v1.1.0"
> xsi:schemaLocation="
> http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
> <cm:property-placeholder persistent-id="com.company.jpatest">
> <cm:default-properties>
> <cm:property name="persistentUnitName" value="my.pu" />
> </cm:default-properties>
> </cm:property-placeholder>
> <bean id="tracingStoreTx" class="com.company.StuffJPAImpl"
> destroy-method="destroy">
> <jpa:unit unitname="${persistentUnitName}"
> property="entityManagerFactory" />
> </bean>
> ..
> {noformat}
> Log message
> {noformat}
> [(&(&(!(org.apache.aries.jpa.proxy.factory=*))(osgi.unit.name=${persistentUnitName}))(objectClass=javax.persistence.EntityManagerFactory)),
>
> (&(&(!(org.apache.aries.jpa.proxy.factory=*))(osgi.unit.name=${persistentUnitName}))(objectClass=javax.persistence.EntityManagerFactory))]
> java.util.concurrent.TimeoutException
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)