powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите разобраться с RMI Hello World!
9 сообщений из 9, страница 1 из 1
Помогите разобраться с RMI Hello World!
    #37658108
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже начитался кучу примеров, но не получается с RMI разобраться.

Взял пример отсюдова:
http://docs.oracle.com/javase/6/docs/technotes/guides/rmi/hello/hello-world.html

Использую NetBeans 7.1
Создал проект RMIServer, а в нём класс RMIServer и интерфейс Hello.

Вот интерфейс:
Код: sql
1.
2.
3.
4.
5.
6.
7.
package rmiserver;
import java.rmi.Remote;
import java.rmi.RemoteException;

public interface Hello extends Remote {
    String sayHello() throws RemoteException;
}



Вот Класс RMIServer:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
package rmiserver;


import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
        
public class RMIServer implements Hello {
        
    public RMIServer() {}

    public String sayHello() {
        return "Hello, world!";
    }
        
    public static void main(String args[]) {
        
        try {
            RMIServer obj = new RMIServer();
            Hello stub = (Hello) UnicastRemoteObject.exportObject(obj, 0);

            // Bind the remote object's stub in the registry
            Registry registry = LocateRegistry.getRegistry();
            registry.bind("Hello", stub);

            System.err.println("Server ready");
        } catch (Exception e) {
            System.err.println("Server exception: " + e.toString());
            e.printStackTrace();
        }
    }
}



Исключение возникает в строке registry.bind("Hello", stub);
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
Server exception: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
	java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
	java.lang.ClassNotFoundException: rmiserver.Hello
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
	java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
	java.lang.ClassNotFoundException: rmiserver.Hello
	at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:396)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
	at sun.rmi.transport.Transport$1.run(Transport.java:159)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:359)
	at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
	at rmiserver.RMIServer.main(RMIServer.java:30)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
	java.lang.ClassNotFoundException: rmiserver.Hello
	at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
	at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:386)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
	at sun.rmi.transport.Transport$1.run(Transport.java:159)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: rmiserver.Hello
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at sun.rmi.server.LoaderHandler.loadProxyInterfaces(LoaderHandler.java:711)
	at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:655)
	at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:592)
	at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)
	at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)
	at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)
	at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1531)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1493)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	... 12 more
...
Рейтинг: 0 / 0
Помогите разобраться с RMI Hello World!
    #37658141
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если так написать - добавить SecurityManager:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
        
public class RMIServer implements Hello {
        
    public RMIServer() {}

    public String sayHello() {
        return "Hello, world!";
    }
        
    public static void main(String args[]) {
        if(System.getSecurityManager()==null){
            System.setSecurityManager(new SecurityManager());
        }
        try {
            RMIServer obj = new RMIServer();
            Hello stub = (Hello) UnicastRemoteObject.exportObject(obj, 0);

            // Bind the remote object's stub in the registry
            Registry registry = LocateRegistry.getRegistry();
            registry.bind("Hello", stub);

            System.err.println("Server ready");
        } catch (Exception e) {
            System.err.println("Server exception: " + e.toString());
            e.printStackTrace();
        }
    }
}



То вываливается вот это:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Server exception: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
	at java.security.AccessController.checkPermission(AccessController.java:546)
	at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
	at java.lang.SecurityManager.checkConnect(SecurityManager.java:1034)
	at java.net.Socket.connect(Socket.java:513)
	at java.net.Socket.connect(Socket.java:469)
	at java.net.Socket.<init>(Socket.java:366)
	at java.net.Socket.<init>(Socket.java:180)
	at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
	at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
	at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595)
	at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198)
	at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
	at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)
	at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
	at rmiserver.RMIServer.main(RMIServer.java:32)
ПОСТРОЕНИЕ ОСТАНОВЛЕНО (общее время: 17 секунд)
...
Рейтинг: 0 / 0
Помогите разобраться с RMI Hello World!
    #37658144
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин, а если вот так написать:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
        
public class RMIServer implements Hello {
        
    public RMIServer() {}

    public String sayHello() {
        return "Hello, world!";
    }
        
    public static void main(String args[]) {
        if(System.getSecurityManager()==null){
            System.setSecurityManager(new SecurityManager());
        }
        try {
            RMIServer obj = new RMIServer();
            Hello stub = (Hello) UnicastRemoteObject.exportObject(obj, 0);

            // Bind the remote object's stub in the registry
            //Registry registry = LocateRegistry.getRegistry(2709);
            Registry registry = LocateRegistry.createRegistry(1098);
            registry.bind("Hello", stub);

            System.err.println("Server ready");
        } catch (Exception e) {
            System.err.println("Server exception: " + e.toString());
            e.printStackTrace();
        }
    }
}


То исключений не возникает.
Вроде как работает.
А если в качестве порта указать 1099, то не работает - исключения возникают. Что за ерунда?
Неделю с этим вожусь - уже голова плохо соображает.
...
Рейтинг: 0 / 0
Помогите разобраться с RMI Hello World!
    #37658157
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Niky4000 ,
Как вы запускаете первый вариант? Там четко написано - class not found rmiserver.Hello. Значит при компиляции класс виден, а при работе самого приложения нет. Возможно какая-либо ошибка сборки. Приведите полный стек-трейс.
По третьему варианту - а что за эксепшн вылетает на порту 1099?
...
Рейтинг: 0 / 0
Помогите разобраться с RMI Hello World!
    #37658287
Kostya Ilyinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom,

В 3-ем варианте проблема забиндиться на порт 1099 - так обычно на никсах валится если на привилегированный порт (от 1 до 1024) пытаешться забиндиться не рутом. Почему тут валится на 1099 - непонятно. Автор, что за ОС? Фаерволл мож какой? А 1098 пускает - может быть какая-то настройка ОС знает что 1099 это RMI и не дает возможность "обычным" пользователям туда биндиться? Гуру, реальна ли такая ситуация?
...
Рейтинг: 0 / 0
Помогите разобраться с RMI Hello World!
    #37661021
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В руководствах, которые я читал было написано, что обязательно надо запустить rmiregistry.exe в windows или аналогичное в Linux.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
    public static void main(String args[]) {
        if(System.getSecurityManager()==null){
            System.setSecurityManager(new SecurityManager());
        }
        try {
            RMIServer obj = new RMIServer();
            Hello stub = (Hello) UnicastRemoteObject.exportObject(obj, 0);

            // Bind the remote object's stub in the registry
            //Registry registry = LocateRegistry.getRegistry();
            Registry registry = LocateRegistry.createRegistry(1099);
            //Registry registry = LocateRegistry.getRegistry("localhost", 1098);
            registry.rebind("Hello", stub);

            System.err.println("Server ready");
        } catch (Exception e) {
            System.err.println("Server exception: " + e.toString());
            e.printStackTrace();
        }
    }



Ошибка в этом случае такая - порт занят.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
run:
Server exception: java.rmi.server.ExportException: Port already in use: 1099; nested exception is: 
	java.net.BindException: Address already in use: JVM_Bind
java.rmi.server.ExportException: Port already in use: 1099; nested exception is: 
	java.net.BindException: Address already in use: JVM_Bind
	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:310)
	at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:218)
	at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:393)
	at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:129)
	at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:190)
	at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:92)
	at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:78)
	at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:186)
	at rmiserver.RMIServer.main(RMIServer.java:32)
Caused by: java.net.BindException: Address already in use: JVM_Bind
	at java.net.PlainSocketImpl.socketBind(Native Method)
	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
	at java.net.ServerSocket.bind(ServerSocket.java:319)
	at java.net.ServerSocket.<init>(ServerSocket.java:185)
	at java.net.ServerSocket.<init>(ServerSocket.java:97)
	at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMIDirectSocketFactory.java:27)
	at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMIMasterSocketFactory.java:333)
	at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:649)
	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:299)
	... 8 more



Кстати, если писать так: Registry registry = LocateRegistry.getRegistry("localhost", 1098);
То всегда возникает исключение.

Если не запускать rmiregistry.exe, то Registry registry = LocateRegistry.createRegistry(1099); - сервер запускается.
Наверное, не нужно его явно запускать. Он, видимо, сам как-то создаётся и запускается по команде LocateRegistry.createRegistry.


По клиенту:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

//import rmiinterface.RMIInterface;
import rmiserver.*;


public class RMIClient {

    /**
     * @param args the command line arguments
     */
    
    private RMIClient() {}
    
    public static void main(String[] args) {
        // TODO code application logic here
        
        String host="localhost";
        //String host = (args.length < 1) ? null : args[0];
        
        //if(System.getSecurityManager()==null){
        //    System.setSecurityManager(new SecurityManager());
        //}
        
        try {
            Registry registry = LocateRegistry.getRegistry(host, 1099);
            Hello stub = (Hello) registry.lookup("Hello");
            String response = stub.helloWorld();
            
            System.out.println("response: " + response);
        } catch (Exception e) {
            System.err.println("Client exception: " + e.getMessage());
            e.printStackTrace();
        }
        
        
    }
}



Клиент по руководствам написан.

При его запуске возникает вот это:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Client exception: Error unmarshaling return header; nested exception is: 
	java.io.EOFException
java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is: 
	java.io.EOFException
	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:209)
	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:359)
	at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
	at rmiclient.RMIClient.main(RMIClient.java:41)
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:250)
	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:195)
	... 3 more



А в консоли у сервера вот это в момент попытки подключения клиента:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Server ready
Exception in thread "RMI TCP Connection(idle)" java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:53827 accept,resolve)
	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
	at java.security.AccessController.checkPermission(AccessController.java:546)
	at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
	at java.lang.SecurityManager.checkAccept(SecurityManager.java:1157)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.checkAcceptPermission(TCPTransport.java:636)
	at sun.rmi.transport.tcp.TCPTransport.checkAcceptPermission(TCPTransport.java:275)
	at sun.rmi.transport.Transport$1.run(Transport.java:158)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)



Клиент и сервер должны реализовывать общий интерфейс Hello. Я засунул класс Hello в проект RMIServer, а в проекте RMIClient прописал RMIServer как библиотеку RMIClient'а.
...
Рейтинг: 0 / 0
Помогите разобраться с RMI Hello World!
    #37661066
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во блин!
Закомментировал вот это в сервере:
Код: sql
1.
2.
3.
4.
        //if(System.getSecurityManager()==null){
        //    SecurityManager sm=new SecurityManager();
        //    System.setSecurityManager(sm);
        //}


И попёрло!!!!!!!
Клиент немного изменил. Написал вот так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
        
public class RMIServer implements Hello {
        
    public RMIServer() {}

    public String helloWorld() {
        return "Hello, world!";
    }
        
    public static void main(String args[]) {
        //if(System.getSecurityManager()==null){
        //    SecurityManager sm=new SecurityManager();
        //    System.setSecurityManager(sm);
        //}
        try {
            RMIServer obj = new RMIServer();
            Hello stub = (Hello) UnicastRemoteObject.exportObject(obj, 0);

            // Bind the remote object's stub in the registry
            //Registry registry = LocateRegistry.getRegistry();
            Registry registry = LocateRegistry.createRegistry(1099);
            //Registry registry = LocateRegistry.getRegistry("localhost", 1098);
            registry.rebind("Hello", stub);

            System.err.println("Server ready");
        } catch (Exception e) {
            System.err.println("Server exception: " + e.toString());
            e.printStackTrace();
        }
    }
}



Клиент ответил вот это:
Код: sql
1.
2.
3.
run:
response: Hello, world!
BUILD SUCCESSFUL (total time: 0 seconds)




Вопрос. А нафиг тогда этот SecurityManager нужен?
Там нет функций установки прав доступа. Можно их только смотреть. Короче, SecurityManager блокировал.
...
Рейтинг: 0 / 0
Помогите разобраться с RMI Hello World!
    #37661071
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вместо клиента написал код сервера.
А можно на этом форуме редактировать свои сообщения?
Пока не нашёл как это делать, пишу код клиента:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
import java.rmi.Naming;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

//import rmiinterface.RMIInterface;
import rmiserver.*;


public class RMIClient {

    /**
     * @param args the command line arguments
     */
    
    private RMIClient() {}
    
    public static void main(String[] args) {
        // TODO code application logic here
        
        String host="localhost";
        //String host = (args.length < 1) ? null : args[0];
        
        //if(System.getSecurityManager()==null){
        //    System.setSecurityManager(new SecurityManager());
        //}
        
        try {
            Hello stub=(Hello) Naming.lookup("rmi://localhost/Hello");
            //Registry registry = LocateRegistry.getRegistry(host, 1099);
            //Hello stub = (Hello) registry.lookup("Hello");
            String response = stub.helloWorld();
            
            System.out.println("response: " + response);
        } catch (Exception e) {
            System.err.println("Client exception: " + e.getMessage());
            e.printStackTrace();
        }
        
        
    }
}
...
Рейтинг: 0 / 0
Помогите разобраться с RMI Hello World!
    #37661164
Niky4000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю как редактировать свои сообщения, поэтому пишу ещё...

Надо бы это ещё на Linux'е потестировать - интересно, там также всё работать будет или как?
А зачем во всех руководствах написано, что надо отдельно запустить процесс rmiregistry?




Ну, тогда ещё вопрос:
Создаю Enterprise проект. Создаю Enterprise клиента. В EJB проекте создаю Session Bean с удалённым интерфейсом. Затем NetBeans, по идее, должен объявить интерфейс в Enterprise клиенте, чтобы была возможность вызвать удалённо метод. Но почему-то NetBeans предлагает сделать это где угодно, но только не в Enterprise клиенте.

Картинка прилагается.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите разобраться с RMI Hello World!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]