GemTalk / RemoteServiceReplication

MIT License
0 stars 4 forks source link

Pluggable Resolver #123

Closed kurtkilpela closed 2 years ago

kurtkilpela commented 2 years ago

Locating the Template Class for a Service has historically happen by looking up the class by name. This is problematic in GemStone. GemStone supports class versions. This has caused a problem when continuing to use Services which are instances of the old class versions. They should continue to function in RSR.

RSR should lookup a Template Class by traversing the Class Hierarchy associated w/ a Service being replicated.

kurtkilpela commented 2 years ago

This should manifest as a Resolver class which is responsible for mapping a Service instance to the Template. It should also be responsible for mapping the template name to the Template.

kurtkilpela commented 2 years ago

TemplateResolver has been introduced in commit 7d81837cc5d7abf264197d8cb6695809c12a816c. A Class Version test has been added for GemStone. Resolving the Template by name or using a Service goes through the Template Resolver.