users@connector-spec.java.net

[connector-spec-users] [jsr322-experts] Re: Support for Resource Adapter Configuration/Deployment through annotations?

From: Sivakumar Thyagarajan <sivakumar.thyagarajan_at_oracle.com>
Date: Thu, 03 Jan 2013 18:18:44 +0530

Hi Jesper

On Wednesday 02 January 2013 08:44 PM, Jesper Pedersen wrote:
> Hi,
>
> On 12/28/2012 01:01 PM, Sivakumar Thyagarajan wrote:
>>> * This 'configuration' will likely have activations of connection
>>> factories and admin objects too
>>>
>>
>> I see the configuration of the RA as being a distinct act (Section
>> 5.3.7.1) from the configuration of MCF (5.3.7.5) and AO (13.4.2.4). The
>> configuration of the former is out-of-band and is performed by the
>> system administrator through application-server-specific tools as
>> explained above. The latter may be done through vendor-specific tools or
>> through the new resource definition annotations.
>>
>
> Yes, but you are depending on the system administrator doing that before
> the application can be deployed.
>
> This work-flow is highly vendor specific, so you can't assume that all
> will follow / support that.

The fact that a RA is configured out-of-band through vendor-specific means
is documented in the spec (5.3.7.1).

>>> * The config-property's are done separate from the annotation
>>> activations,
>>> making users have to look in different places to get the entire picture
>>>
>>
>> I may not have understood this correctly. Are you talking about
>> @ConfigProperty or the properties annotation element in the resource
>> definition annotations?
>>
>
> The @ConfigProperty's for the resource adapter are done using the vendor
> specific tools.

.. to be clear, the property values for Configuration properties of a RAR
(specified through @ConfigProperty) is specified as part of RA
configuration during RA deployment. These properties could have default
values, and in that case, a deployer may not even need to override them if
the defaults works for them.

> The @ConfigProperty's for the managed connection factories and admin
> objects are done with the new deployment annotations.

@ConfigProperty in a MCF or AdminObject again declares a configuration
property. The values for these properties are provided for these through
the new resource defintion annotations. Again a deployer can choose to
override this using vendor-specific schemes (a vendor DD, tools etc).

>
> Giving
>
>>> Configuration Annotations
>>>
>>> (CF) CF
>>> | |
>>> RA-------------
>>> | |
>>> (AO) AO
>>>
>>>
>>> which doesn't make it clearer for the user IMHO.
>>>
>
>>> Yes, but it very important that the user is clearly able to identify
>>> which
>>> resource adapter instance the CF/AO/... is associated to.
>>
>> Yes, completely agree. This is done through the resourceAdapterName
>> annotation element.
>>
>
> Which is done externally to the application, using vendor specific tools.
>
> I don't like this at all.

I think I need to discuss and understand your point here a bit more. Let
us discuss this in detail during our EG telecon next week.

Thanks
--Siva.

>>> Yes, there is a lot of glue between 1) and 2), but that makes this area
>>> tricky to get right.
>>
>> I agree, and your suggestions are welcome. As of now, we are trying to
>> define RA activation (as described earlier in this thread), as it has
>> been traditionally a deploy-time activity. EE7 is looking at simplifying
>> resource definitions once we have a RA activation.
>>
>
> Yes, but in order for that to work we need to include all the components
> of that picture, like my @ResourceAdapterDeployment.
>
> Best regards,
> Jesper
>