Uploaded image for project: 'ModeShape'
  1. ModeShape
  2. MODE-336

Most state managed within the Workspace should be shared among multiple Session instances

XMLWordPrintable

      Our current JcrWorkspace implementation is created to be used only by the one JcrSession instance associated with it. Currently, each Session would have it's own Workspace implementation, each of which would have its own copy of the namespace registry and node type manager.

      However, one common use case for JCR involves creating many Session instances for the same workspace (e.g., this is the web app scenario). This means that we'd have a lot of Workspace instances (same number as Session instances) each with their own copy of the data. In fact, the node type manager should actually be "owned" (at least logically) by the repository, per section 6.7.9: "There is one node type registry per repository, therefore the NodeTypeManager is not workspace-specific; it provides introspection methods for the global, repository-wide set of available node types."

      Therefore, a number of things that are currently in the JcrWorkspace implementation should be pulled out and reused for all JcrWorkspace instances created by the JcrRepository for the same logical workspace. This issue captures the set of tasks that are involved.

            rhauch Randall Hauch (Inactive)
            rhauch Randall Hauch (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: