[
https://issues.apache.org/jira/browse/LUCENE-1407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12718481#action_12718481
]
Simon Willnauer commented on LUCENE-1407:
-----------------------------------------
Shai, you miss one little tricky thing with RMI. RMI uses a DynamicProxy
(java.lang.reflect.Proxy) together with a java.lang.reflect.InvocationHandler
to proxy the remote call. A proxy can only be created using an interface. All
calls to the interface are passed to the InvocationHandler instance and
subsequently to the remote server. You can only cast an object returned by
lookup() into an interface implemented by the remote object. If you would
implement Remotable in you remote object you can only cast it into Remotable
(while I have never seen that interface). This will only offer you the methods
of this interface but not the methods of the remote object, in our case
RemoteSeachable. Eventually we need an interface that defines all methods
needed to use RemoteSearchable, without a base interface this is not gonna work
together with RMI.
simon
> Refactor Searchable to not have RMI Remote dependency
> -----------------------------------------------------
>
> Key: LUCENE-1407
> URL: https://issues.apache.org/jira/browse/LUCENE-1407
> Project: Lucene - Java
> Issue Type: Improvement
> Reporter: Grant Ingersoll
> Priority: Minor
> Fix For: 2.9
>
>
> Per http://lucene.markmail.org/message/fu34tuomnqejchfj?q=RemoteSearchable
> We should refactor Searchable slightly so that it doesn't extend the
> java.rmi.Remote marker interface. I believe the same could be achieved by
> just marking the RemoteSearchable and refactoring the RMI implementation out
> of core and into a contrib.
> If we do this, we should deprecate/denote it for 2.9 and then move it for 3.0
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]