I've just enabled the new endpoint reference/endpoint model in the
runtime at revision: 756070. Here's what it does.

For each service binding an endpoint model is created
   There are no $promoted$ services anymore. The endpoint at the
appropriate level hosts the services and refers down to the promoted
service
For each reference target (where target is either a wire target or an
unwired binding) an endpoint reference model is created
   For endpoint references of references that have a callback
interface an association with the callback services endpoint is
created
Before composite activation endpoint reference bindings are matched
with endpoint bindings
   The endpoint for the endpoint reference is chosen
At activation/start
    All endpoints have a wire created
    All endpoing reference have a wire created
Wire operation is that same as it was before.

When it comes to interacting with the wire the old EndpointReference
structure is still in use. I need some help from Raymond to switch
this over to the new structure. So there are a number of classes in
the code based with "2" at the end of their name. I haven't removed
the classes they replace yet but assume that the version with "2" in
the name is active.

In particular be aware that there old CompositeActivatorImpl and
RuntimeWireImpl are no longer active.

Next steps.
  Go through and remove anything that can be removed
  Do a bit of tidying
  Fix up the code to use EnpointReference2 throughout
  Add any of the other features that Raymond has mentioned as we see fit.
  Refactor to change all the classes with "2" at the end to their
proper names removing anything they replace.

Some pictures of the endpoint reference/endpoint model can be found
here [1]. I'm just adding some promotion/callback pictures at the
moment. Any comments, help gratefully received.

Regards

Simon

[1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Endpoints

Reply via email to