|
|
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
Если я реализую abstract Dao factory, то для конкретной фабрики я должен иметь connection pool. Вопрос такой - должен ли он быть inner классом этой фабрики или можно какой-то обобщённый пул для всех фабрик написать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2013, 15:07:05 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
мне бы скелет просто как это примерно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2013, 16:19:33 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
зачем писать пул? возьми готовую реализацию, например от Апача (org.apache.commons.dbcp.BasicDataSource). Да и по идее пул (вроде паттерн pool есть, почитай) - он как бы один должен быть, и рулит доступными ресурсами Connection'ов. Создавать несколько пулов для подключения к одной БД - это неправильно. Твоя основная задача - создать пул и передавать его в ДАО каким то образом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2013, 17:07:02 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
И передавай этот пул как интерфейс DataSource, тогда сможешь безболезненно поменять реализацию этого самого пула на другую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2013, 17:17:50 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
pavel_nv, сделал пул как внутренний класс конкретной DAO. это нормально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 00:54:37 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 01:42:21 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
забыл ник, приведите пример того, как надо(если руками писать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 02:18:54 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 10:36:24 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
redwhite90Если я реализую abstract Dao factory Зачем для DAO factory? DAO не имеет состояния, и их не за чем производить. Они синглтоны в системе. Сделай свой IoC вместо factory - отдельный класс, который инстранциирует и соединяет всю инфраструктуру. redwhite90Вопрос такой - должен ли он быть inner классом этой фабрики или можно какой-то обобщённый пул для всех фабрик написать? Пул - отдельная сущность. Её нужно единожды создать для каждого источника данных и потом заинжектить во все DAO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 10:39:45 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
Blazkowicz,Если честно, эти классы мне совсем не знакомы. Моя логика такая, что на каждую конкретную бд есть свой пул, поэтому его надо хранить внутри конкретной factory вот мой код: Код: java 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 12:32:47 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
redwhite90Blazkowicz,Если честно, эти классы мне совсем не знакомы. Ии? В документацию смотреть страшно? redwhite90Моя логика такая, что на каждую конкретную бд есть свой пул, поэтому его надо хранить внутри конкретной factory На каждую БД есть отдельный экземпляр пула. Любой адекватный JDBC пул реализует DataSource интерфейс из JSE. Поэтому привязываться к конкретнопу пулу нужно в исключительно редких случаях. redwhite90 Код: java 1. MsSql? Really? А у MySQL какой-то свой JDBC? Очень редкие приложения завязываются на любые базы данных. Dao, обычно, завязывается на JDBC. Привязка к конкретному расширению SQL нужна достаточно редко. И если вы её делаете, то вы должны знать ответ на вопрос "зачем". redwhite90 Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. И зачем вам каждый пук новый экземпляр DAO? Зачем нужна Factory? Если вы так делаете, то наверное на это есть какие-то основания? Почему DAO не синглтон? Какая роль Factory? Зачем создаётся экземпляр абстрактного класса? Чтобы запутать потенциального читателя. Код: java 1. Ну и с порядком слов надо что-то решать Не PoolConnection, а ConnectionPool. Не UsbDaoMsSql, а MsSQLUsbDao. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 12:45:09 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
redwhite90 Код: java 1. 2. Большинство coding conventions запрещают опускать скобки, если тело находится не в той же строке. Потому что можно легко добавит следующую строку, которая будет выглядеть как содержимое блока, а на самом деле им не являтся. Ну, и вообще к реализации пула очень много вопросов. Например как поведёт себя пул в многопоточном окружении? Почему не используется стандартный JDBC API, в котором соединение можно вернуть в пул через Connection.close()? Т.е. это теперь любой готовый код под JDBC надо переписывать с учетом вашей не стандартной реализации пула? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 12:49:52 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
redwhite90приведите пример того, как надо(если руками писать). там ооочень много ньюансов. Можно и Хибер руками написать)). Поэтому вопрос - странный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 13:48:38 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
автор Context initContext = new InitialContext(); Context envContext = (Context)initContext.lookup("java:/comp/env"); this.dataSource = (DataSource)envContext.lookup("jdbc/myDatasourceName"); а что эти строки означают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 15:41:08 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
это тривиальная замена вашему велосипеду, но я думаю писать велосипеды же интереснее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 15:46:59 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Много информации так сразу - тяжело разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 15:48:08 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 16:12:43 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
я к тому, что здесь упор не на jdbc идёт, а на СУБД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 17:12:49 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
Этот паттерн следует использовать только если в ТЗ указано обязательное использование нескольких СУБД. это значительно увеличит трудоемкость процесса. Вам же выше сказали: BlazkowiczMsSql? Really? А у MySQL какой-то свой JDBC? Очень редкие приложения завязываются на любые базы данных. Dao, обычно, завязывается на JDBC. Привязка к конкретному расширению SQL нужна достаточно редко. И если вы её делаете, то вы должны знать ответ на вопрос "зачем". Вы уверены что нужны несколько СУБД? ответьте тогда на вопрос "зачем"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 17:27:48 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
redwhite90я к тому, что здесь упор не на jdbc идёт, а на СУБД а для чего тебе делать упор на СУБД? Когда надо делать прямо противоположное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 17:27:57 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
pavel_nv, Это учебный проект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 17:39:25 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
redwhite90а что эти строки означают? Из JNDI сервера получаем ссылку на пул. Пул единожды настраивается на сервере. Приложению не нужно знать к какой именно базе оно конектится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 17:54:21 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
redwhite90разве у меня не так сделано? Мда. Вот что значит не удачная книга. Почитай GoF. Есть в хорошем переводе. Там толково разжевано какие проблемы решают конкретные паттерны. В вашей книге пример ради примера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 17:57:34 |
|
||
|
connection pool Dao как реализовать
|
|||
|---|---|---|---|
|
#18+
redwhite90я к тому, что здесь упор не на jdbc идёт, а на СУБД А смысл? Если все СУБД работают через SQL и JDBC, Т.е. в 99% случаев разницы между MySQLJDBCCustomerDAO и MSSQLJDBCCustomerDAO нет вообще. Вот если вы вдруг такую разницу обнаружите, тогда можно выделить её в подобный класс. Опять же, большая редкость, если одна и та же сущность хранится в разных источниках данных. Поэтому пример в вашей книге высосан из пальца и к реальной жизни отношения не имеет вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2013, 18:00:28 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38154642&tid=2129968]: |
0ms |
get settings: |
14ms |
get forum list: |
30ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
51ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
101ms |
get tp. blocked users: |
3ms |
| others: | 315ms |
| total: | 547ms |

| 0 / 0 |
