[
https://issues.apache.org/jira/browse/ODE-295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexis Midon reopened ODE-295:
------------------------------
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
> Integration-Layer configuration
> -------------------------------
>
> Key: ODE-295
> URL: https://issues.apache.org/jira/browse/ODE-295
> Project: ODE
> Issue Type: New Feature
> Components: BPEL Runtime
> Reporter: Alexis Midon
> Assignee: Matthieu Riou
> Fix For: 1.2
>
> Attachments: ODE-295_patch#1.txt, ODE-295_trunk_patch#1.txt
>
>
> *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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.