
- •Оглавление
- •Введение
- •Раздел I. Изучение структуры организации. Постановка задач. Глава 1. Ознакомительная часть.
- •Глава 2. Распределение по рабочим местам.
- •Глава 3. Постановка задач.
- •Раздел II. Описание методов, средств и технологий решения поставленных задач. Глава 1. Изучение языка программирования Java и среды разработки Eclipse.
- •Глава 2. Изучение технологий лицензирования продуктов Geoleader.
- •Глава 3. Написание класса проверки лицензий и тестирование.
- •Глава 4. Изучение взаимодействия с базой данных через jdbc.
- •Глава 5. Написание класса использующего стандартный пул соединений с бд.
- •Глава 6. Написание класса расширенного пула соединений с бд.
- •Заключение.
- •Список литературы:
Глава 4. Изучение взаимодействия с базой данных через jdbc.
Для изучения взаимодействия с базой данных через JDBC я использовал литературу, предоставленную компанией[4]. В ходе изучения материала я освоил использование JDBC и JDBC-драйверы, изучил типы драйверов и конкретно тонкий драйвер thin.
Для написания класса получения соединения с базой данных под управлением Oracle я использовал платформу Eclipse IDE 4.2. и стандартные библиотеки ucp.jar, ojdbc6.jar.
Дополнительная задача состояла в создании подключения к пользователю, которому для соединения к базе данных не нужен пароль. Эта задача стандартными средствами не решалась, поэтому я обрабатывал этот случай отдельно, посредствам других приемов[Приложение !!!!!].
Тестирование программы проводилось на базе данных под управлением Oracle, которая находится на локальном сервере.
Глава 5. Написание класса использующего стандартный пул соединений с бд.
Задача написания класса использующий стандартный пул соединений с БД состояла в создании класса со следующими методами.
Метод для получения соединения getConnection();
Метод для возврата соединения releaseConnection(Connection);
Настройки соединений - хост, порт, название БД, пользователь/пароль.
Настройка пула - максимальное/минимальное количество поддерживаемых соединений; максимальное число использований соединения (уничтожать соединение после определенного количества использований).
Для написания класса использующий стандартный пул соединений с БД было также я использована платформа Eclipse IDE 4.2. и стандартные библиотеки ucp.jar, ojdbc6.jar.
Дополнительная задача также состояла в создании подключения к пользователю, которому для соединения к базе данных не нужен пароль. Эта задача была решена, аналогична предыдущей дополнительной задаче.
Глава 6. Написание класса расширенного пула соединений с бд.
Задача написания класса расширенного пула соединений с БД, была поставлена в связи с тем, что стандартный пул работал некорректно. При вызове метода getConnection() и всех занятых соединениях пула, пул не обрабатывал запрос, т.е. не выдавал соединения и запрос утрачивал силу. Необходимо было расширить класс пула, для того чтобы все запросы на соединения выполнялись.
Для решения поставленной задачи я решил дополнить класс очередью отложенных действий, а также самостоятельно выдавать и забирать соединения и следить за их количеством и состоянием.
Суть очереди отложенных действий состоит в том, что у нас запросы на соединение выполняются потоками и при отсутствии доступного соединения, поток переходит в состояние ожидания и становятся в очередь. Также есть еще один поток, который обрабатывает запросы в очереди, при появлении нового соединения. Для того чтобы не загружать выделенную память поток на время отсутствия запросов находиться в режиме ожидания.
С помощью написанного клиентского приложения, которое с помощью нескольких потоков отправляло запросы на соединение, я смог протестировать работоспособность написанного класса. Класс работал корректно, а при больших тестах выполнял работу за приемлемое время. Задание было зачтено.
Заключение.
В ходе прохождения производственно практики, мною были выполнены все поставленные задачи и достигнуты цели. По итогам практики были закреплены полученные знания в ходе обучения в университете, изучены новые технологии и получен опыт работы на предприятии. По окончанию практики получен положительный отзыв от руководителя практики. По результатам практики я был принят в компанию на постоянную работу с испытательным сроком.