[ 
https://issues.apache.org/jira/browse/ARIES-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14640428#comment-14640428
 ] 

Christian Schneider commented on ARIES-1355:
--------------------------------------------

Hi Matt,

the main reason for the annotation based approach is to use a standards based 
approach instead of an aries specific one. It will also make it easier to port 
code from JEE to blueprint and vice a versa. 

Can you explain in more detail how you plan use the different persistence 
units? 
You can already refer to a DataSource using the jta-datasource element. This 
allows to switcht the database without touching the code.
Aries JPA 2 also allows to supply the persistence properties from a config 
admin config. That might be another thing that could help. I know that 
[~ggerla] is using this to test with different persistence providers and I 
think also DBs.

> 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.3.4#6332)

Reply via email to