Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

We currently have the PersistableValueMap which is an easy way of modifying a resource. As we have modifications now as a first class feature, we should add an update(ValueMap props) method to the Resource interface. The change is persisted immediately.

We should deprecate the PersistableValueMap as a save() call saves the whole session and this might include changes made through any other means to the session.

Persisting Changes

In general, a call to one of the methods, modifying a resource as outlined above are persisted immediately. However, transactions will be supported as well.TBD

Transaction handling

As changes are persisted immediately, there might be some need for a transaction handling to control resource operations in a better way. Therefore the underlying resource providers should support JTA.

Resource Providers

A resource provider is mounted into the resource tree. In general, the providers are processed ordered by service ranking, highest first. A service provider gets a service property specifying the sub tree it is claiming to use. For example, a service provider might be mounted at /a/some/path. Everything below this path is processed by this resource resolver. However another resource provider might claim /a/some/path/and/down. So the longest matching path wins.

...