lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Willnauer (JIRA)" <>
Subject [jira] Commented: (LUCENE-1407) Refactor Searchable to not have RMI Remote dependency
Date Thu, 11 Jun 2009 14:47:07 GMT


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.


> Refactor Searchable to not have RMI Remote dependency
> -----------------------------------------------------
>                 Key: LUCENE-1407
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Grant Ingersoll
>            Priority: Minor
>             Fix For: 2.9
> Per
> 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:
For additional commands, e-mail:

View raw message