Differences between revisions 1 and 2
Revision 1 as of 2006-06-29 13:02:53
Size: 976
Editor: 193
Comment:
Revision 2 as of 2006-06-29 17:23:51
Size: 985
Editor: 193
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:


Line 28: Line 31:
}

First pass design: There are exactly two registries defined. If we need more later we will refactor.

The core "in-memory" Registry is basically defined by a hashtable. If something is not found there then Synapse automatically looks up the key in the other registry. The other registry is defined by an interface and you can configure the provider using the following XML syntax:

<syn:registry provider="o.a.s.r.HTTPRegistry">
  <property name="prop-for-HTTPRegistry" value="...">
</syn:registry>

The core in-memory registry is actually the SynapseEnvironment properties model. The other registry is just a mapping from keys (strings) to XML fragments (OMNode).

SynapseEnvironment {
   ...
   Object getProperty(String name);
   ...
   XMLRegistry getXMLRegistry();
   ...
}

public interface XMLRegistry {
  OMNode lookup (String key);
  OMNode lookupIfModified (String key, long since);
  void insert (key, OMNode);
}

Synapse/InProgress/RegistryAccessThoughts (last edited 2009-09-20 23:05:24 by localhost)