|
|
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
возникла такая проблема, я уже и не знаю чего делать ибо вроде всё посмотрела: К БД подключаюсь приложением через пул потоков, в придожении 3 класса реализующие подключение к бд. Через админ. консоль видно, что есть свободные пулы БД,(СУБД и war лежат на одном сервере) когда клиента запускаю со своей машины (т е удалённо) всё ок используются старые пулы, если запускаю с того же сервера на котором всё это добро лежит то создаётся 1 новый , и берётся 1 старый. Вопрос такой: в каких случаях создаётся новый пул ?(через админ консоль видно что существующие пулы не используются!) я задолбалась уже =((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 13:24:43 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
можно то же самое изложить ортодоксальной терминологией с общепринятой семантикой и перестанте долбаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 14:48:44 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
подключаюсь так Код: plaintext 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. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:11:10 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
У вас отвратительный подход к работе как с connection'ами, так и в общем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:12:52 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
=(( а по подробней ? PS Ошибку нашла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:20:32 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Например, метод clearUser у меня выглядел бы вот так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Ну а если по существу — если вы уверены, что во время работы этих методов не возникает ошибок при закрытии коннекта, то не парьтесь — пусть JBoss сам решает, как управлять коннектами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:21:52 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
не парится не могу , ибо без this.finalize(); коннекты пладились очень быстро , что не есть хорошо т к при превышении мак допустимого количества одновременных соединений всё летит .. и спасает только перезапуск jboss. проблема осталась, =(( подключение к БД не куда не деваются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:31:48 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
GerdaSне парится не могу , ибо без this.finalize(); коннекты пладились очень быстро , что не есть хорошо т к при превышении мак допустимого количества одновременных соединений всё летит .. и спасает только перезапуск jboss. проблема осталась, =(( подключение к БД не куда не деваются Не трогайте метод finalize. Вы всё-равно не знаете, для чего он придуман и когда может вызываться. Каково максимальное число разрешенных соединений в Jboss'е? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:33:48 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Вы АБСОЛЮТНО уверены, что ошибок не возникает? Почему вы не выдаете наружу EJBException, при возникновении ошибок? Зачем вы по-тихому какаете в лог? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:34:39 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
сейчас 10. число критично тк планируется оч большое число одновременных подключений , по этому надо точно знать сколько подключений возникает при работе приложения по логике их не больше 3 , а они растут растут и всё рушится =\ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:37:06 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
До закрытия коннекта надо открытые стейтменты закрывать, а то как раз таки исключение и вылетит (они держат коннект), которое Вы никак не обрабатываете, по сути. И зачем трогать финализатор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:41:06 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин.Вы АБСОЛЮТНО уверены, что ошибок не возникает? Почему вы не выдаете наружу EJBException, при возникновении ошибок? Зачем вы по-тихому какаете в лог? 1) если ошибка возникнет то в логе отобразится (почему то не сомневаюсь )сие: LOG.error("error: "); в консоле можно будет посмотреть подробней ne.printStackTrace(); вот от сюда: } catch (Exception ne){ LOG.error("error: "); ne.printStackTrace(); } 2) EJBException не получится выдать т к это не EJB , а сервлет + pojo 3) Читала, что накакать в лог будет этичней , чем вывалить на пользователя эксепшен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:42:59 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
PassingByДо закрытия коннекта надо открытые стейтменты закрывать, а то как раз таки исключение и вылетит (они держат коннект), которое Вы никак не обрабатываете, по сути. И зачем трогать финализатор? хм хм . что бы убить всё. =)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:45:13 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
PassingByДо закрытия коннекта надо открытые стейтменты закрывать, а то как раз таки исключение и вылетит (они держат коннект), которое Вы никак не обрабатываете, по сути. И зачем трогать финализатор? +1 Я уже отвык на это обращать внимание :) Привык к хорошему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:46:29 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
GerdaS 1) если ошибка возникнет то в логе отобразится (почему то не сомневаюсь )сие: LOG.error("error: "); в консоле можно будет посмотреть подробней ne.printStackTrace(); вот от сюда: } catch (Exception ne){ LOG.error("error: "); ne.printStackTrace(); } 2) EJBException не получится выдать т к это не EJB , а сервлет + pojo 3) Читала, что накакать в лог будет этичней , чем вывалить на пользователя эксепшен 1) Ну, если вы видите в логе все свои отладочные сообщения и не настроили при возникновении ошибок какать в другой лог — тогда да. 2) Ммм, опять дурацкая привычка... Выдавайте ServletException либо какой-то еще, который система поймет без дополнительных телодвижений. 3) Это зависит от... В нормальной ситуации ошибок подобных вашей быть в принципе не должно, я правильно понимаю? Соответственно, если ошибка произошла — что-то пошло вразнос и лучше это сразу узнать. У вас ведь не интернет, а корпоратив? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:53:51 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
GerdaS PassingByДо закрытия коннекта надо открытые стейтменты закрывать, а то как раз таки исключение и вылетит (они держат коннект), которое Вы никак не обрабатываете, по сути. И зачем трогать финализатор? хм хм . что бы убить всё. =)) Когда придет время — оно само всё убьется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 15:54:12 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. GerdaS 1) если ошибка возникнет то в логе отобразится (почему то не сомневаюсь )сие: LOG.error("error: "); в консоле можно будет посмотреть подробней ne.printStackTrace(); вот от сюда: } catch (Exception ne){ LOG.error("error: "); ne.printStackTrace(); } 2) EJBException не получится выдать т к это не EJB , а сервлет + pojo 3) Читала, что накакать в лог будет этичней , чем вывалить на пользователя эксепшен 1) Ну, если вы видите в логе все свои отладочные сообщения и не настроили при возникновении ошибок какать в другой лог — тогда да. 2) Ммм, опять дурацкая привычка... Выдавайте ServletException либо какой-то еще, который система поймет без дополнительных телодвижений. 3) Это зависит от... В нормальной ситуации ошибок подобных вашей быть в принципе не должно, я правильно понимаю? Соответственно, если ошибка произошла — что-то пошло вразнос и лучше это сразу узнать. У вас ведь не интернет, а корпоратив? 1) Да 2) Это не дурачкая пивычка, а "по корпоративным обстоятельствам" тут я бессильна, пока 3)Инет , при чём там браузер "особый" , не буду в подробности вдаватся, но не очень будет красиво если что то вывалится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 16:00:12 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
GerdaS PassingByДо закрытия коннекта надо открытые стейтменты закрывать, а то как раз таки исключение и вылетит (они держат коннект), которое Вы никак не обрабатываете, по сути. И зачем трогать финализатор? хм хм . что бы убить всё. =)) Финализатор вообще-то мало что убивает. Он вообще не всегда вызывается и трогать его крайне не рекомендуется ввиду бесполезности. Возможно, больший успех принесет вызов gc в цикле (это шутка, не делайте этого). Просто закрывайте все, что открыли в том же методе и будет вам щастье (тм). Все - это в данном случае любой созданный экземпляр ResultSet, Statement, PreparedStatement и самого Connection. Кстати, executeUpdate() надо вызывать после последнего addBatch() или вообще addBatch() не трогать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 16:01:05 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. GerdaS PassingByДо закрытия коннекта надо открытые стейтменты закрывать, а то как раз таки исключение и вылетит (они держат коннект), которое Вы никак не обрабатываете, по сути. И зачем трогать финализатор? хм хм . что бы убить всё. =)) Когда придет время — оно само всё убьется. если 5 000 польз. по 3 подключения на каждое приложение, кол -во подключений разрастается, (ждём пока jm сама всё почистит) , разрастается и .... ппревеД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 16:02:15 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
GerdaS Код: plaintext 1. 2. Бессмысленный порядок методов. Либо addBatch / executeBatch, либо executeUpdate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 16:03:32 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
GerdaS если 5 000 польз. по 3 подключения на каждое приложение, кол -во подключений разрастается, (ждём пока jm сама всё почистит) , разрастается и .... ппревеД Вы просто не понимаете, что вы говорите. Подключение должно закрыться и быть отдано в пул в момент вызова Код: plaintext Если этого не происходит — ищите у себя ошибку. Её вам уже указали и не раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 16:05:22 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
PassingBy GerdaS PassingByДо закрытия коннекта надо открытые стейтменты закрывать, а то как раз таки исключение и вылетит (они держат коннект), которое Вы никак не обрабатываете, по сути. И зачем трогать финализатор? хм хм . что бы убить всё. =)) Финализатор вообще-то мало что убивает. Он вообще не всегда вызывается и трогать его крайне не рекомендуется ввиду бесполезности. Возможно, больший успех принесет вызов gc в цикле (это шутка, не делайте этого). Просто закрывайте все, что открыли в том же методе и будет вам щастье (тм). Все - это в данном случае любой созданный экземпляр ResultSet, Statement, PreparedStatement и самого Connection. Кстати, executeUpdate() надо вызывать после последнего addBatch() или вообще addBatch() не трогать. в данном случае убил, то что не убилось conn.Close =\ PassingBy Кстати, executeUpdate() надо вызывать после последнего addBatch() или вообще addBatch() не трогать. если после последнего, то то что было вместо ?? ранее добавленно не срабатвает, выполняется только последний запрос .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 16:05:22 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
GerdaS Милая девушка. Откройте книжку и внимательно-внимательно перечитайте concepts языка Java, потом concepts технологии J2EE, потом документацию JBoss. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 16:06:33 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
В языке Java прочитайте про все моменты, включая технологию работы с JDBC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 16:06:59 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
сейчас перепишу =))) .. в поисках счастья... Не ругайтесь сильно, я не так, что бы давно в java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 16:07:05 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
GerdaSНе ругайтесь сильно, я не так, что бы давно в java Не так давно — это сколько? Какие книги прочитали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 16:07:49 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
GerdaS PassingBy Кстати, executeUpdate() надо вызывать после последнего addBatch() или вообще addBatch() не трогать. если после последнего, то то что было вместо ?? ранее добавленно не срабатвает, выполняется только последний запрос .. Да, верное, если addBatch(), то executeBatch() - при массовых операциях это может быть быстрее. Что касается 5000 одновременных запросов: 1) У Вас они уже есть? 2) Вы вообще в курсе, как пулы работают? 3) Откройте для себя чудесный мир кэширования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 16:15:22 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
PassingBy GerdaS PassingBy Кстати, executeUpdate() надо вызывать после последнего addBatch() или вообще addBatch() не трогать. если после последнего, то то что было вместо ?? ранее добавленно не срабатвает, выполняется только последний запрос .. Да, верное, если addBatch(), то executeBatch() - при массовых операциях это может быть быстрее. Что касается 5000 одновременных запросов: 1) У Вас они уже есть? 2) Вы вообще в курсе, как пулы работают? 3) Откройте для себя чудесный мир кэширования. 1) Пока нет, да и возможности тестирования при таком кол -ве тоже нет, по этому приходится предотвращать возможные "дыры" заранее. А 5000 появятся недели через 3 и если всё повалится не заработав, будет не красиво 2-3) В курсе. Объясняю, что меня смутило: При работе приложения, число подключений к БД просматривал через MySql Admin. кол -во подключений переодически увеличевалось (как потом выяснилось из за моего косяка с незакрытыми объектами. Я по (не наю почему) была уверенна, что если я закрою connect, то статемент закрывать не обязательно ибо он закроется авт. т к "порадивший" его коннект будет закрыт ) Вот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 17:16:38 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
GerdaS Я по (не наю почему) была уверенна, что если я закрою connect, то статемент закрывать не обязательно ибо он закроется авт. т к "порадивший" его коннект будет закрыт ) Вот. Все как раз наоборот - открытый стейтмент продолжает удерживать коннект. В принципе, если взять какой-нибудь высокоуровневый инструмент типа hibernate или jpa в любой инкарнации, от этих проблем Вы будете избавлены. Относительно нагрузки - нет ничего хуже преждевременной оптимизации. Если же у Вас предполагается больше селектов, чем инсертов/апдейтов, все же подумайте лучше о кэшировании - это удобнее, чем коннекты считать. Ну и для стресс-тестов есть специальные инструменты, если Вам интересно, как поведет себя приложение под нагрузкой, - тот же JMeter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 17:25:39 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. GerdaSНе ругайтесь сильно, я не так, что бы давно в java Не так давно — это сколько? Какие книги прочитали? Не так давно это : сейчас начало 4ого месяца моей проф. деятельности java (SE) узнала в прошлом году =)) где то в сентябре. до Java EE добралась в марте. слушала лекции (SE), делала лабы(SE),читала Глушакова, ORellн, Api, мануалы. + курсы по java ee. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 17:26:11 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Закрытие connecta под JBoss совсем не означает его реальное закрытие... При незакрытых ResultSet JBoss начинает жрать память (по крайней мере в MySQL). Вчера только исправил такую ошибку. Через 24 часа работы валился по OutOfMemory. Вот накопал в сети ссылка по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 17:27:06 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
GerdaS Не так давно это : сейчас начало 4ого месяца моей проф. деятельности java (SE) узнала в прошлом году =)) где то в сентябре. до Java EE добралась в марте. слушала лекции (SE), делала лабы(SE),читала Глушакова, ORellн, Api, мануалы. + курсы по java ee. Я первый раз увидел Java в прошлом году, в июле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 18:07:16 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
PassingBy GerdaS Я по (не наю почему) была уверенна, что если я закрою connect, то статемент закрывать не обязательно ибо он закроется авт. т к "порадивший" его коннект будет закрыт ) Вот. Все как раз наоборот - открытый стейтмент продолжает удерживать коннект. В принципе, если взять какой-нибудь высокоуровневый инструмент типа hibernate или jpa в любой инкарнации, от этих проблем Вы будете избавлены. Относительно нагрузки - нет ничего хуже преждевременной оптимизации. Если же у Вас предполагается больше селектов, чем инсертов/апдейтов, все же подумайте лучше о кэшировании - это удобнее, чем коннекты считать. Ну и для стресс-тестов есть специальные инструменты, если Вам интересно, как поведет себя приложение под нагрузкой, - тот же JMeter. селектов и инсертов/апдейтов примерно 50 /50 тестировать надо, но пока об этом не ставят задачи =\ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 18:42:46 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. GerdaS Не так давно это : сейчас начало 4ого месяца моей проф. деятельности java (SE) узнала в прошлом году =)) где то в сентябре. до Java EE добралась в марте. слушала лекции (SE), делала лабы(SE),читала Глушакова, ORellн, Api, мануалы. + курсы по java ee. Я первый раз увидел Java в прошлом году, в июле. ну может я в чём - то, java тоже знаю хорошо, иногда просто туплю =))) . Не буду отмазыватся разговорами, что времени не было (на изучение) и тд. Спасибо всем огромное! Постараюсь больше не делать глупых ошибок =)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 18:47:28 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
GerdaS ну может я в чём - то, java тоже знаю хорошо, иногда просто туплю =))) . Глядя на огромное количество ваших вопросов по Java, я так не думаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 18:52:08 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. GerdaS ну может я в чём - то, java тоже знаю хорошо, иногда просто туплю =))) . Глядя на огромное количество ваших вопросов по Java, я так не думаю. это было больше месяца назад =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2007, 19:44:50 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
прочитал, вопрос возник: почему в выше описанном примере использована такая конструкция: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. а не Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2007, 15:29:54 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
ДенисЛпрочитал, вопрос возник: почему в выше описанном примере использована такая конструкция: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. а не Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Это кому вопрос? По моему куску кода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2007, 16:13:02 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
ага, по этому: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2007, 16:31:19 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
ДенисЛага, по этому: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Ну что ж, возьмем оригинальный код Код: plaintext 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. Я ленивый человек. И еще я люблю, когда код хорошо читается. В моем примере он читается гораздо лучше, согласитесь. Писать Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Писать же код вроде Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2007, 16:39:57 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Предвосхищая дальнейшие вопросы, DBQuery — это утилитарный класс (легкая надстройка над PreparedStatement'ом), написанный мной, для облегчения работы с обращениями к базе. Умеет автоматически получать коннекты, умеет обслуживать нюансы обращения к данным в двух DB (Sybase ASE и Oracle) (в работе с датой), содержит методы для ограничения выборки, добавления данных в PreparedStatement'ы (вместо ручного указания номера), автоматического закрытия всех используемых классов (PreparedStatement, Statement, ResultSet, Connection). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2007, 16:44:25 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин.Предвосхищая дальнейшие вопросы, DBQuery — это утилитарный класс (легкая надстройка над PreparedStatement'ом), написанный мной, для облегчения работы с обращениями к базе. Умеет автоматически получать коннекты, умеет обслуживать нюансы обращения к данным в двух DB (Sybase ASE и Oracle) (в работе с датой), содержит методы для ограничения выборки, добавления данных в PreparedStatement'ы (вместо ручного указания номера), автоматического закрытия всех используемых классов (PreparedStatement, Statement, ResultSet, Connection). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2007, 17:20:15 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
открой для себя Spring JDBC Spring JDBC работает как под J2EE, так и в любых локальных вызовах? Тем не менее, мы не используем Spring. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2007, 17:23:38 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. ДенисЛага, по этому: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Ну что ж, возьмем оригинальный код Код: plaintext 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. Я ленивый человек. И еще я люблю, когда код хорошо читается. В моем примере он читается гораздо лучше, согласитесь. Писать Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Писать же код вроде Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. кажется вы немного не поняли мой вопрос, постараюсь расширить: почему у вас используется такая конструкция: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. или в них есть принципиальная разница ? (код автора темы не рассматриваю по ряду очевидных причин) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2007, 18:56:09 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
ДенисЛ Ваш вариант нерабочий. Чтобы он был рабочим нужно написать Код: plaintext 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. Лично мне мой вариант нравится гораздо больше. Поэтому я пишу именно так. Принципиальная разница только одна — в моем варианте при крахе СУБД возможно возникновение Exception'а в блоке finally не того, который был изначально. Как я уже сказал — в данном случае это допустимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2007, 21:27:47 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. открой для себя Spring JDBC Spring JDBC работает как под J2EE, так и в любых локальных вызовах? Тем не менее, мы не используем Spring. надстройка над ждбц. то что ты напесал уже давно написано, отшлифовано и оттестировано. и он удобнее. уверяю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2007, 23:05:49 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
ага, это оч удобная надстройка над ждбц. то что ты напесал уже давно написано, отшлифовано и оттестировано. и он удобнее. уверяю. Зачем она нужна, если у меня уже есть своя? Я пока учусь делать самостоятельно. Как только я научусь делать всё, можно будет широко использовать чужие наработки. В этом вопросе с текущим работодателем у меня нет недопонимания :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2007, 00:01:14 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. ага, это оч удобная надстройка над ждбц. то что ты напесал уже давно написано, отшлифовано и оттестировано. и он удобнее. уверяю. Зачем она нужна, если у меня уже есть своя? Я пока учусь делать самостоятельно. Как только я научусь делать всё, можно будет широко использовать чужие наработки. В этом вопросе с текущим работодателем у меня нет недопонимания :) твоя обладает рядом недостатков, которые видны невооруженным глазом. со временем, скорее всего, поймешь какими. есть готовое - бери да пользуйся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2007, 00:35:30 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
эт ты зря твоя обладает рядом недостатков, которые видны невооруженным глазом. со временем, скорее всего, поймешь какими. есть готовое - бери да пользуйся. Объясни сейчас. Я хочу посмотреть, как ты вылечишь по фотографии :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2007, 00:43:11 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Хрюхрюшкин. эт ты зря твоя обладает рядом недостатков, которые видны невооруженным глазом. со временем, скорее всего, поймешь какими. есть готовое - бери да пользуйся. Объясни сейчас. Я хочу посмотреть, как ты вылечишь по фотографии :) 1. prepare, addString, execute. много лишних-ненужных вызовов. достаточно одного. 2. обработка эксепшнов. на..я? кому интересен SQLException, поднимите руки. в подавляющем большинстве случаев это лишние строчки. 3. finally - аналогично. зачем это? чтобы писать в каждом месте? на.уй, на.уй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2007, 01:08:25 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
ок. то что не нравицо мне: 1. prepare, addString, execute. много лишних-ненужных вызовов. достаточно одного. 2. обработка эксепшнов. на..я? кому интересен SQLException, поднимите руки. в подавляющем большинстве случаев это лишние строчки. 3. finally - аналогично. зачем это? чтобы писать в каждом месте? на.уй, на.уй. 1) Видел я вызовы одной строкой (prepare("bla.bla").addString("dsads").execute()). Иногда даже сам делал. Фтопку. Это уже за гранью нормальной лени. 2) Да, возможно, есть такой момент. Мне лично он не нужен. Потом, возможно, переделаю. 3) Не понимаешь, зачем нужен finally? В finalizer'е пишешь нужный код??? Фтопку тебя :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2007, 11:18:15 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Сократить тре вызова можно до двух. Путем prepare("ddsds").execute(userId). Этот подход тоже фтопку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2007, 11:20:14 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
Кстати, по поводу Exception'ов, может товарищ не в курсе. В EJB нормальной практикой является вызов исключения EJBException внутри методов EJB бина. Чтобы не было мучительно больно, других Exception'ов наружу лучше не выдавать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2007, 11:25:11 |
|
||
|
help ! jboss+mysql пул
|
|||
|---|---|---|---|
|
#18+
доказать :) иди открой уже Spring и не гадай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2007, 12:09:51 |
|
||
|
|

start [/forum/moderation_log.php?user_name=%D0%A3%D0%B0%D1%88%D0%B0]: |
0ms |
get settings: |
18ms |
get forum list: |
23ms |
get settings: |
12ms |
get forum list: |
24ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
53ms |
get topic data: |
21ms |
get forum data: |
5ms |
get page messages: |
138ms |
get tp. blocked users: |
4ms |
| others: | 616ms |
| total: | 926ms |

| 0 / 0 |
