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

Matt Pavlovich commented on ARIES-1355:
---------------------------------------

Yep, we are using the data source approach. The catch is in the dictionary 
definitions and vendor-specific column mappings. 

Auto-creating the ddl's is not always an option (or preferred) by many large 
enterprises.  There is always the scenario where you need a different 
definition to handle things like id columns, date formatters, field precision, 
clobs, etc. (especially when trying to support MSSQL vs Oracle, etc) 

This can all be abstracted really easily with a different PU definition, but 
just requires the ability to have a configurable PU name.

> 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