![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Alagert |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 25.8.2005 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Вот столкнулся с такой проблемой: пишу клиетское приложение для MS SQL server. Подключение к серверу хочу сделать с помощью абстрактного класса, который бы не каждый раз создавался, когда нужно подключение, а получал свою реализацию. Т.е. хочу использовать патерн singleton. Вот код, который, я думал, будет работать.
Соответсвенно натолкнулся на грабли. По тому как
возвращает Class. Происходит ошибка инициализации. Народ помогите Плиз, подскажите как мне правильно использовать данную стратегию? И расскажите: как наиболее часто пишуться подключения к БД? Всем спасибо. --------------------
[color=blue]BORN TO BE ROOT#[/color] |
||||
|
|||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Такой код:
вернет тебе екземпляр драйвера SQL Server-а, а не твой класс. Тебе надо создать не абстрактную реализацию твоего класса DBConnection, и получать ее:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| Alagert |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 25.8.2005 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Я так понимаю
я должен присвоить моему синглтону? При этом в статической часте моего класса оставить
Правильно? И как обычно пишуться подключения к базам? --------------------
[color=blue]BORN TO BE ROOT#[/color] |
||||
|
|||||
| LSD |
|
||||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Только не
а
т.к. DBConnection абстрактный и создать его экземпляр не получится. Зависит от условий задачи. Если тебе надо много соединений, то надо использовать пул. Если же это обычное клиентское приложение, то можно обойтись и одним. Можно например считать пареметры соединения из конфигурационного файла, а потом просто:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||||
|
|||||||
| Alagert |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 25.8.2005 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
LSD, пасибо большое.
А если сдеалть так:
то не вызывается статический инициализатор. Почему? Это сообщение отредактировал(а) Alagert - 20.4.2006, 21:43 --------------------
[color=blue]BORN TO BE ROOT#[/color] |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Потому что ты пытаешься загрузить класс DBConnection, а у тебя на самом деле класс com.alagert.mssql.db.DBConnection. Java всегда оперирует полными именами классов.
Кстати почему ты не заменишь:
на
? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| Beard |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 5.7.2005 Где: Санкт-Петербург Репутация: 2 Всего: 9 |
Уж раз у тебя singleton, то конструктор надо сделать private.
|
|||
|
||||
| Alagert |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 25.8.2005 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
После исправления этого, все заработала. Большое спаисбо. А контруктор в статическом инициализатор вызывать нельзя. Пасибо за замечание. Подскажите плиз хорошие книжки, где можно почитать про реализацию различных патернов на Java. Всем спасибо. --------------------
[color=blue]BORN TO BE ROOT#[/color] |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Применение шаблонов Java. А вообще посмотри в Компьютерной литературе, там были еще книги по шаблонам проектирования. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |