Описание примера решения задач по 2-ой лабе.
Primary tabs
(данный текст любезно предоставлен нам Мишей, за что ему огромное спасибо)
- src\ - папка с исходными java-файлами
- lib\ - папка подключаемых библиотек
- bin\ - откомпилированные файлы классов
src\ru\mkanin\
corba\ - мой проект corba
corbaexample\ - учебный пример Example с сайта ibm.com
corbaexamplesources\ - папка для проекта Example CORBA со служебными классами, созданная утилитой idlj
из файла ExampleCORBA.idl
corbasources\ - папка моего проекта CORBA со служебными классами, созданная утилитой idlj
из файла DataCORBA.idl
data\ - папка вспомогательного класса DataManager для работы с СУБД MySQL
rmi\ - мой проект RMI
rmiexample\ - учебный пример Example с сайта ibm.com
lib\
mysql-connector-java-5.1.22-bin.jar - MySQL-коннектор для доступа к СУБД (мы его подключаем на стадии компиляции и выполнения с помощью ключа -classpath)
В корне проекта:
ExampleCORBA.idl - определение интерфейса учебного примера corba на языке IDL
DataCORBA.idl - определение интерфейса моего проекта corba на языке IDL
Important! Все действия команды выполняются из командной строки Windows
из корневой директории проекта RMICORBA
1. Пробуем учебный пример RMI с сайта IBM.com
1.1. Компилируем исходники
Пакет ru.mkanin.rmiexample
javac -d bin -sourcepath src src\ru\mkanin\rmiexample\*.java
Файлы успешно скомпилировались.
1.2. Запускаем проект RMI Example
cd bin
start rmiregistry
cd ..
start java -classpath bin ru.mkanin.rmiexample.Server
java -classpath bin ru.mkanin.rmiexample.ExampleClient
Должно быть выведено Success!
2. Пробуем учебный пример CORBA с сайта IBM.com
2.1. С помощью утилиты idlj получаем папку со вспомогательными классами проекта CORBA
idlj -fall -td src ExampleCORBA.idl
2.2. Компилируем исходники
Пакет ru.mkanin.corbaexample
Все полученные файлы лежат в папке src\ru\mkanin\corbaexamplesources\
2.2.1. Компилируем файлы вспомогательных классов папки corbaexamplesources
javac -d bin -sourcepath src src\ru\mkanin\corbaexamplesources\*.java
2.2.2. Компилируем файлы классов папки проекта corbaexample\
javac -d bin -sourcepath src -classpath bin src\ru\mkanin\corbaexample\*.java
2.3. Запускаем проект CORBA Example
cd bin
start tnameserv
cd ..
start java -classpath bin ru.mkanin.corbaexample.CORBAServer
java -classpath bin ru.mkanin.corbaexample.ExampleCORBAClient -ORBInitialHost localhost
Должно быть выведено CORBA Success!
3. Пробуем мой проект RMI.
Перед началом работы с проектом нужно установить и отконфигурировать СУБД MySQL по инструкции в статье
"Инструментарий веб-разработчика" (доступна по адресу http://php-myadmin.ru/learning/instrumen... ).
В проекте предполагается, что доступ к MySQL через login: root password: pw
Далее в ней создаем БД persons.
Далее создаем таблицу из файла persons.sql (лежит в корне проекта).
3.1. Компилируем исходники
Пакет ru.mkanin.rmi
3.1.1. Компилируем вспомогательный класс для работы с СУБД ru.mkanin.data.DataManager
javac -d bin -sourcepath src -classpath lib\mysql-connector-java-5.1.22-bin.jar src\ru\mkanin\data\DataManager.java
3.1.2. Компилируем классы проекта RMI
javac -d bin -sourcepath src -classpath bin;lib\mysql-connector-java-5.1.22-bin.jar src\ru\mkanin\rmi\*.java
3.2. Запускаем проект RMI
cd bin
start rmiregistry
cd ..
start java -classpath bin;lib\mysql-connector-java-5.1.22-bin.jar ru.mkanin.rmi.Server
Запускаем RMIClient
java -classpath bin ru.mkanin.rmi.DataClient
Смотрим содержимое БД.
Description. Полезно запустить 2 копии клиента и убедиться в синхронизации данных при добавлении и удалении данных.
4. Пробуем мой проект CORBA
4.1. С помощью утилиты idlj получаем папку со вспомогательными классами проекта CORBA src\ru\mkanin\corbasources
idlj -fall -td src DataCORBA.idl
4.2. Компилируем исходники
Пакет ru.mkanin.corba
4.2.1. Если были проделаны действия п. 3.1.1., перейти к сл. шагу.
4.2.2. Компилируем вспомогательные классы проекта CORBA
javac -d bin -sourcepath src src\ru\mkanin\corbasources\*.java
4.2.3. Компилируем классы проекта CORBA
javac -d bin -sourcepath src -classpath bin;lib\mysql-connector-java-5.1.22-bin.jar src\ru\mkanin\corba\*.java
4.3. Запускаем проект CORBA
cd bin
start tnameserv
cd ..
start java -classpath bin;lib\mysql-connector-java-5.1.22-bin.jar ru.mkanin.corba.CORBAServer
Запускаем CORBAClient
java -classpath bin ru.mkanin.corba.DataClientCORBA -ORBInitialHost localhost
Description.
1. Версия проекта с использованием CORBA не работает с кириллическими символами по причине некорректного преобразования UNICODE в ACSII. Все нелатинские символами при выборке заменяются знаками вопроса. При реализации операций вставки и удаления с кириллическими символами может быть сгенерировано исключение.
2. Полезно запустить 2 копии клиента и убедиться в синхронизации данных при добавлении и удалении данных.
- Log in to post comments
- 2457 reads