Issue Details (XML | Word | Printable)

Key: ODE-295
Type: New Feature New Feature
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Matthieu Riou
Reporter: Alexis Midon
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
ODE

EPR configuration

Created: 27/May/08 04:41 PM   Updated: 30/Mar/09 11:47 PM
Return to search
Component/s: BPEL Runtime
Affects Version/s: None
Fix Version/s: 1.2

Time Tracking:
Issue & Sub-Tasks
Issue Only
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works ODE-295_branch_patch#2.txt 2008-06-06 03:38 AM Alexis Midon 79 kB
Text File Licensed for inclusion in ASF works ODE-295_patch#1.txt 2008-05-30 03:38 PM Alexis Midon 169 kB
Text File Licensed for inclusion in ASF works ODE-295_trunk_patch#1.txt 2008-06-03 03:01 AM Alexis Midon 161 kB
Issue Links:
Duplicate
 
Incorporates
 
Reference
 

Resolution Date: 06/Jun/08 05:48 PM

Sub-Tasks  All   Open   
No sub-tasks match this view.

 Description  « Hide
*Abstract:*
Add support for external services configuration at runtime.
Some settings (like timeout, proxy, headers etc) may have to be defined dynamically and on a service-basis.

This could be done with a property file (per deployment unit).

*Details:*
This issue adds a mechanism to pass properties from the ProcessConf to the Integration Layer, and leverages it to configure external services.

The ProcessConf interface has a method Map<String, String> getProperties(String...).
This method is meant to expose properties to the Integration Layer. These properties have to be specific to the process configuration. It's the implementor responsability to define what these properties are, what they are used for. The String array received as argument may be used to specify filters, criteria to get only a subset of the properties.
Default Implementation

The default implementation will use the first two parameters as service name and port name.

This method is backed by a property file named integration-layer.properties. This file must be placed in the deployment unit.


 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alexis Midon added a comment - 27/May/08 07:22 PM
ODE-295 will fix ODE-276.
A property will allow to set MEX timeout.

Alexis Midon added a comment - 30/May/08 03:41 PM
ODE-295_patch#1.txt is for branch 1.1

Patch for trunk is on the way.

Alexis Midon added a comment - 03/Jun/08 03:01 AM
patch for trunk

Matthieu Riou added a comment - 05/Jun/08 09:10 PM
Last patch applied.

Alexis Midon added a comment - 06/Jun/08 03:27 AM
After discussion about this, we agreed on the following:

    * EPRs implementation knowledge belongs to the messaging part of the IL, the deployment part should only have to deal with the EndpointReference interface and its representation as a configuration key.

    * we should have a better abstraction than a String[] (that assumes ordering and such) as representation of the characteristics of an EPR for configuration lookup.

So in the code we would have to modify:

    * EndpointReferenceContext to add a getConfigLookup(EndpointReference) method that would return a Map (and in the case of the Axis2 IL it would return something like {'service'=>'foo', 'port'=>'bar', 'url'=>'baz'}).

    * Have the 2 methods named getProcessProperties() (instead of getDeploymentProperties) and getEndpointProperties(EndpointReference) (instead of getProperties(String...)).

    * Set a reference to EndpointReferenceContext in the process store so that it can pass it the ProcessConfImpl instances. ProcessConfImpl.getEndpointProperties would then call EndpointReferenceContext.getConfigLookup(epr) to get the names it should use for the configuration lookup. Once these names are obtained, the implementation is going to be roughly the same.

We discussed a bit about how to handle namespaces and urls and thought the prettiest would probably be aliasing them. So you would have a set of alias at the beginning of the property file, like:

alias.foo=http://foo.com

Alexis Midon added a comment - 06/Jun/08 03:38 AM
patch to be applied on top on the previous one.

Matthieu Riou added a comment - 06/Jun/08 05:48 PM
Patch applied.

Alexis Midon added a comment - 09/Jun/08 01:41 PM
patch applied on trunk. I did it myself now that I can commit!