[
https://jira.jboss.org/jira/browse/DNA-566?page=com.atlassian.jira.plugin...
]
Randall Hauch commented on DNA-566:
-----------------------------------
I created a package-level static final boolean WORKSPACES_SHARE_SYSTEM_BRANCH flag that
may be changed to false when debugging so that the federated connector is not used. As
stated above, this has implications for some connectors, and definitely cannot be changed
in production without having some potentially serious deviations from JCR spec behavior
with respect to the '/jcr:system' branch. However, it is very useful while
debugging certain situations.
I added a new unit test to check that the flag is 'true', and this should always
pass (except when debugging). This helps ensure that the value is not accidentally
committed to SVN with a value of 'false'.
Provide a short-circuit (for debugging purposes only) that does not
use federation in JcrRepository
---------------------------------------------------------------------------------------------------
Key: DNA-566
URL:
https://jira.jboss.org/jira/browse/DNA-566
Project: DNA
Issue Type: Feature Request
Components: Federation, JCR
Affects Versions: 0.6
Reporter: Randall Hauch
Assignee: Randall Hauch
Fix For: 0.7
The JcrRepository implementation uses a shared repository source to persist the
"/jcr:system" content that is common and shared amongst all workspaces in that
repository, and it uses a federated repository to provide a unified view of the normal
repository source and the system repository source (whereby the system content is
projected into each of the workspace graphs). This works really well, but it does
complicate debugging (since the federated connector using a fork-join multi-threaded
mechanism to parallelize the requests to the projected sources).
It would be nice to have a short-circuit that we can use during debugging that would make
the JcrRepository _not_ use the federated connector, and instead to just directly use the
repository source. This does have implications, like the "/jcr:system" branch
can't always be created in the underlying repository source (like the file system or
SVN connectors). In such cases, the short-circuit means that the JcrRepository.login(...)
methods always fail because that method attempts to create the "/jcr:system"
branch if it is not there. Under normal circumstances, the JcrRepository creates the
"/jcr:system" branch in the system repository source upon construction, and then
upon JcrRepository.login(...) just obtains a connection via the federated connector.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira