ОТДАЛЕЧЕНИ ОБЕКТИ- 2
Конфигуриране на java машината - Properties
Properties представляват конфигурационни параметри използвани от програмата при нейното изпълнение. Те се представят чрез двойки от низове свойство/значение (key/value pairs).import java.util.Properties; public class TestPr { public static void main(String[] arg){ Properties props = System.getProperties(); System.out.println (props); } } |
като отделните конфигурационни параметри са във вида <параметър>=<стойност> и са разделени със запетаи.
Повече за Properties може да се види тук.
Разделяне на клиента и сървъра
1.Разделяне на файловете в 2 директории
server
client
В директорията
server: (java файловете могат да бъдат свалени от
тук)
SampleServer.class
SampleServerImpl.class
SampleServerStart.class
В директорията
client (файловете
могат да бъдат свалени от тук)
client.policy
SampleClient.class
SampleServer.class
2. Стартиране на WEB сървър
Има два подхода за осигуряване на класовете stub при клиента - простото им копиране на ръка - тогава при промени в отдалечения обект трябва да се копират отново, или да се заредят чрез стартиран WEB сървър при отдалечения обект (или чрез NFS)
WEB сървъра трябва да бъде стартиран и директорията, от която да се зареждат, трябва да бъде преместена на обслужвано от WEB сървъра място, което да се вижда например като
http://host/download/
В директорията на WEB сървъра трябва да бъдат поместени файловете (файловете могат да бъдат свалени от тук)
SampleServer.class
SampleServerImpl.class
3.Стартиране на bootstrap registry service
rmiregistry & под Unix
start rmiregistry под Windows
От версия JDK 7u21 е необходимо да се укаже откъде ще се зареждат класовете stub (SampleServer.class и SampleServerImpl.class)
start rmiregistry -J-Djava.rmi.server.codebase=file:///<path-to-remote-classes>/ ако са ще достъпни например чрез NFS или са на една и съща машина с клиента
или
start rmiregistry -J-Djava.rmi.server.codebase=http://host/download/ ако ще са достъпни през WEB сървъра на машината host
start rmiregistry -J-Djava.rmi.server.codebase=ftp://host/download/ ако ще са достъпни през FTP сървъра на машината host
Внимание! http://host/download/ а не http://host/download
4. Зареждане на обектите - сървъри
java SampleServerStart & Unix
start java SampleServerStart Windows
или
start java -Djava.rmi.server.hostname=<host> SampleServerStart
подразбиращият се адрес за host е IP адреса на компютъра
5. Промяна на файла за сигурността при клиента
файлът client.policy трябва да разрешава ползването на сокети на портовете над 1023 и да разрешава ползването на WEB сокета - 80:
grant |
6. Стартиране на клиента:
java SampleClient host //ако политиката за управление на сигурността е инсталирана в програмата на клиента:
// set the security manager for the client |
или
java -Djava.security.policy=client.policy SampleClient host // ако не е инсталирана