[
https://issues.apache.org/jira/browse/JCR-3206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13474489#comment-13474489
]
Lars Michele commented on JCR-3206:
-----------------------------------
Hi Claus,
I doubt, that I could split the patch into smaller patches. The problem lies in
the caching I added to the LocalAdapterFactory/ClientAdapterFactory and
RemoteAdapterFactory/ServerAdapterFactory. The other changes rely on this
essential part. The current implementation always returns a new RemoteStub for
every access to a remote method. This means, one can execute getSession() on a
node and always create a new ServerSession as adapter which gets registered in
the RMI registry. Then a ClientSession is created for this "new" RemoteStub.
The cache on the server allows the reuse of already available remote stubs, so
only the first access creates a remote stub. On the client side a client object
is only created, if it is not already present in the cache. One big trick is
the use of ReferenceIdentityMap for caching Jackrabbit objects, because not all
of them implement a meanigful hashcode method. On the other hand, mapping
remote stubs to Jackrabbit objects must be equals based to get the right
results for remote stubs. If this rudimentary cache implementation is ok, the
rest of the changes is not really a big deal. Just interfaces, server adapters
for the jackrabbit objects, client adapters for the remote stubs.
I hope this little description helps, but if this is not enough, I could call
you and we could walk through the changes together :-)
> JSR-283 support for RMI
> -----------------------
>
> Key: JCR-3206
> URL: https://issues.apache.org/jira/browse/JCR-3206
> Project: Jackrabbit Content Repository
> Issue Type: New Feature
> Components: jackrabbit-jcr-rmi
> Affects Versions: 2.3
> Reporter: Claus Köll
> Attachments: jackrabbit.diff, jackrabbit-jcr-rmi-ntm-ac-ej.patch
>
>
> We have the JCRRMI-26 Issue for the missing JSR-283 support.
> As we do no more use the Jira Project JCRRMI i would like to create a new
> Issue for that feature request.
--
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