With the current implementation you would use the blueprint handler instead of 
an argument / property rather than embedded in one.

So 

<bean>
  <jpa:context unitname="foo" index="1" />
</bean>

is "equivalent" to

<bean>
  <argument index="1">
    jpa internal gubbins for unit foo
  </argument>
</bean>

while
<jpa:context property="prop" unitname="foo" />

will expand to

<property name="prop">
  jpa internal gubbins for unit foo
</property>

Valentin

On 4 Nov 2010, at 14:03, Jarek Gawor wrote:

> That's another thing I've noticed and I wasn't sure it was because of
> some blueprint ns handler limitations.
> 
> I would expect to inject jpa unit or context like this:
> 
> <argument index="5">
>   <jpa:context unitname="foo"/>
> </argument>
> 
> <property name="myUnit">
>  <jpa:context unitname="foo"/>
> </property>
> 
> That way we should also be able to specify and inject a list or array of PUs.
> 
> I just can't recall if ns handler support in blueprint can support this or 
> not.
> 
> Jarek
> 
> On Thu, Nov 4, 2010 at 7:17 AM, Alasdair Nottingham <[email protected]> wrote:
>> Hi,
>> 
>> As I recall this was added to aid injection into constructors not to 
>> identify which persistence unit to inject.
>> 
>> Alasdair
>> 
>> On 4 Nov 2010, at 11:03, Lin Sun <[email protected]> wrote:
>> 
>>> Hi
>>> 
>>> What about this index attribute that was added in jpa blueprint 1.1
>>> schema?  I've never seen an example on it.
>>> 
>>>  <xsd:complexType name="TunitType">
>>>    <xsd:attribute name="property" type="xsd:string" use="optional" />
>>>    <xsd:attribute name="index" type="xsd:string" use="optional" />
>>>    <xsd:attribute name="unitname" type="xsd:string" use="optional" />
>>>  </xsd:complexType>
>>> 
>>> Thanks
>>> 
>>> Lin
>>> 
>>> 
>>> On Thu, Nov 4, 2010 at 4:03 AM, Valentin Mahrwald
>>> <[email protected]> wrote:
>>>> I think the assumption at the time of writing was that unit names would be 
>>>> unique per framework, through isolating applications in sub-frameworks. As 
>>>> far as the JPA spec goes there are no other useful properties to select on.
>>>> We could introduce something like persistence bundle name and persistence 
>>>> bundle version as properties on the service and possible selectors in the 
>>>> schema !?
>>>> 
>>>> Valentin
>>>> 
>>>> 
>>>> On 4 Nov 2010, at 02:35, Jarek Gawor wrote:
>>>> 
>>>>> Hi,
>>>>> 
>>>>> From looking at the jpa blueprint ns handler, it seems like the
>>>>> handler only uses the unitname attribute to select which persistence
>>>>> unit to inject. But unitname alone might not be enough to select the
>>>>> right persistence unit. What if there are two different persistence
>>>>> bundles deployed with the same unit name? I think the schema should
>>>>> allow for an optional filter attribute which would be combined with
>>>>> the unitname to select the right persistence unit.
>>>>> 
>>>>> Thoughts?
>>>>> 
>>>>> Jarek
>>>> 
>>>> 
>> 

Reply via email to