Hi,

I made some changes around the how EndpointRegistry is used for a Node and how the EndpointReference is bound an endpoint in the registry.

URL: http://svn.apache.org/viewvc?rev=823672&view=rev
Log:
Refactor the runtime build logic into EndpointReferenceBinder
Refactor the endpoint-wrapper into domainRegistryFactory that delegates to endpoint registry implementations by the scheme Improve/workaround the monitor so that it can be shared by multiple nodes (We need a better design for this)

Basically, each Node can be configured with the following information:

domain: The URI of the domain that the Node belongs.
domainRegistryURI: The URI that can be used to connect to a domain registry, such vm://localhost, multicast://<address>:<port>?attr1=v1&attr=v2.

When the Node starts, it looks up the DomainRegistryFactory (replacing EndpointRegistryWrapper) which knows how to find an implementation of EndpointRegistry that support the scheme such as "vm" or "multicast". An instance is created for the given registry URI and domain URI and cached by the combined key. I removed the endpoint-wrapper module.

I also refactored the runtimebuild code from the EndpointReferenceBuilder into a new utility called EndpointReferenceBinder that can bind a EPR to the endpoint in the endpoint registry that is passed in as an argument.

When I tried to bring up the tests in domain-node, I discovered some flaws in our Monitor creation and usages. I'll start a different thread for that.

Thanks,
Raymond
---
Raymond Feng
Apache Tuscany PMC Member: http://tuscany.apache.org
Co-author of Tuscany In Action (A book on Tuscany SCA): http://tuscanyinaction.com/


Reply via email to