Интегрирайте Jersey с RMI

Имам проект на Java Jersey, където изпълнявам приложение. От друга страна имам проект, в който има RMI приложение, как мога да свържа тези две да работят заедно. С други думи, как мога да интегрирам RMI/IIOP в приложение на Джърси.

Мислех си за нещо подобно:

@Path("/items")
public class ItemsResource {
    @Context
    UriInfo uriInfo;
    @Context
    Request request;
        Stuber s = new Stuber();


    @GET
    public Response get() throws RemoteException {
        }

Ако имам външен клас в проекта Jersey, който ще работи като клиент за свързване с RMI/IIOP

public class Stuber {
    Context ic;
    iRemoteLogic logic;

    public Stuber() {
        super();

        Object objref;


            try {
                ic = new InitialContext();

                objref = ic.lookup("LogicService");
                System.out.println("Client: Obtained a ref. to Hello server.");

                logic = (iRemoteLogic) PortableRemoteObject.narrow(
                        objref, iRemoteLogic.class);

Какво трябва да добавя към класа Stuber, за да мога да работя като RMI/IIOP клиент?

Благодаря :)

ЗАБЕЛЕЖКА: Следвах този урок за RMI/IIOP


person rogeliog    schedule 28.05.2012    source източник
comment
Искате ли да извикате вашия Stuber клас от Джърси?   -  person UVM    schedule 28.05.2012


Отговори (1)


Ще трябва да предоставите някъде имплементация на iRemoteService, която се експортира чрез RMI/IIOP (т.е. PortableRemoteObject), и да я регистрирате чрез JNDI като LogicService. Съмнявам се, че последното ще работи: със сигурност ще трябва да предоставите протокол и хост на JNDI.

person user207421    schedule 28.05.2012
comment
Имам друго самостоятелно приложение, което прави това перфектно (The PortableRemoteObject) и получава внедряването. Когато копирах кода в проект на Джърси, той спря да работи. Джърси ограничава ли потребителя да прави това? За достъп до ресурси извън сървъра? - person rogeliog; 28.05.2012
comment
Искам класът Stuber да работи като RMI клиент, когато стартирам файла Stuber извън приложението Jersey Tomcat, той работи чудесно като клиент. Проблемът започва, когато се опитам да го интегрирам в приложението Jersey Tomcat, обикновено получава ClassNotFoundException - person rogeliog; 29.05.2012
comment
@rogeliog Така че внедрите липсващия клас. - person user207421; 30.05.2012