[
https://issues.apache.org/jira/browse/JCR-3534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13653590#comment-13653590
]
Tommaso Teofili edited comment on JCR-3534 at 5/10/13 6:50 AM:
---------------------------------------------------------------
thanks Alex for pointing out to that, I'll do that as soon as possible.
Also I just noticed we removed constructor new DataIdentifier(byte[] bytes),
I'll put it back in as DataStore implementors may create DataIdentifiers thus
it'd introduce a backward compatibility issue for them; so, since we have the
code for converting to hex String in AbstractDataStore#encodeHexString, it's
just trivial to do it.
was (Author: teofili):
thanks Alex for pointing out to that, I'll do that as soon as possible.
Also I just noticed we removed constructor new DataIdentifier(byte[] bytes),
I'll put it back in as DataStore implementors may create DataIdentifiers thus
it'd introduce a backward compatibility issue for them; so, since we have the
code for converting to hex String in Abstract#encodeHexString, it's just
trivial to do it.
> Efficient copying of binaries across repositories with the same data store
> --------------------------------------------------------------------------
>
> Key: JCR-3534
> URL: https://issues.apache.org/jira/browse/JCR-3534
> Project: Jackrabbit Content Repository
> Issue Type: New Feature
> Components: jackrabbit-api, jackrabbit-core
> Affects Versions: 2.6
> Reporter: Felix Meschberger
> Assignee: Tommaso Teofili
> Attachments: JCR-3534.2.patch, JCR-3534.3.patch, JCR-3534.4.patch,
> JCR-3534.patch, JCR-3534.patch
>
>
> we have a couple of use cases, where we would like to leverage the global
> data store to prevent sending around and copying around large binary data
> unnecessarily: We have two separate Jackrabbit instances configured to use
> the same DataStore (for the sake of this discussion assume we have the
> problems of concurrent access and garbage collection under control). When
> sending content from one instance to the other instance we don't want to send
> potentially large binary data (e.g. video files) if not needed.
> The idea is for the sender to just send the content identity from
> JackrabbitValue.getContentIdentity(). The receiver would then check whether
> the such content already exists and would reuse if so:
> String ci = contentIdentity_from_sender;
> try {
> Value v = session.getValueByContentIdentity(ci);
> Property p = targetNode.setProperty(propName, v);
> } catch (ItemNotFoundException ie) {
> // unknown or invalid content Identity
> } catch (RepositoryException re) {
> // some other exception
> }
> Thus the proposed JackrabbitSession.getValueByContentIdentity(String) method
> would allow for round tripping the JackrabbitValue.getContentIdentity()
> preventing superfluous binary data copying and moving.
> See also the dev@ thread
> http://jackrabbit.markmail.org/thread/gedk5jsrp6offkhi
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira