|
|
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Если я делаю a = null; Wellcome a = new Wellcome(); Wellcome b = new Wellcome(); то обращение к загрузчику происходит только 1 раз. Можноли как-то заставить его обращатся каждый раз????? Плз. помогите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 14:56 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Пишешь свой, но не кэшируешь загруженные ранее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 15:35 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
У меня и есть свой!!! Я проверяю еще дло вытягивания из кеша запрос не поступает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 15:39 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Gold FishУ меня и есть свой!!! Я проверяю еще дло вытягивания из кеша запрос не поступает Покажите тогда свой ... classloader :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 18:08 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#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. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 18:12 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Судя по вашему коду, можно сказать что запрос на поиск класса в базе будет поступать каждый раз при попытке ЯВНО загрузить класс (loadClass()). Если я правильно понимаю, в случае с new ЖВМ сама определяет, был ли уже класс загружен текущим класслоадером или нет. Класслоадер, здесь уже не причем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 19:58 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Дык вот вопрос в том и есть что мне нужно при изменении подключения к базе переподтянуть объект. Если я делаю так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. То у меня при изменении конекшина вылетает Caused by: java.lang.LinkageError: duplicate class definition: Wellcome Может есть какието параметры JVM чтобы он не кешировал у себя???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 10:56 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Неужели никто подобного не делал???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 13:28 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Gold FishНеужели никто подобного не делал???? Звучит, так будто вы спрашивали что-то типа: "как вывести в консоль Хелло Ворлд?". :)) Видимо никому еще не понадобилось, то что нужно вам. Кстати, а вам оно зачем? подгружать каждый раз новую версию класса... Как стоит задача? может быть есть обходные пути... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 15:59 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Задача(в упрощенном виде) в том что есть некая форма с JDesctopPane которая загружается локально а есть некоторые JInternalFrame корые лежат в БД, и в разных БД они могут быть разные(т.е. с одинаковым именем но разным контентом). Т.е. у пользователя после того как он подключается к базе выскакивает JInternalFrame который лежит в базе, если пользователь переподключился к другой базе (не перегружая приложение) то у него открывается это фрейм из текущей базы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 16:31 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Jozicможет быть есть обходные пути... Есть стандартные пути, так поступает любой JSP сервер(Tomcat например) когда появляется новая jsp он её перекомпилирует и показывает новый вариант. Достигается это путем того что создается новый экзепляр classLoader. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 16:45 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Gold FishЗадача(в упрощенном виде) в том что есть некая форма с JDesctopPane которая загружается локально а есть некоторые JInternalFrame корые лежат в БД, и в разных БД они могут быть разные(т.е. с одинаковым именем но разным контентом). Т.е. у пользователя после того как он подключается к базе выскакивает JInternalFrame который лежит в базе, если пользователь переподключился к другой базе (не перегружая приложение) то у него открывается это фрейм из текущей базы И для этого надо грузить по новму класс? Почему нельзя использовать для этого разные экземпляры classLoader'а ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 16:49 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Теоретически можно. Но опятьже тогда приходим к проблеме приведения типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 16:52 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Gold FishТеоретически можно. Но опятьже тогда приходим к проблеме приведения типов. что сполне спокойно решается через интерфейсы загруженные родительским classLoader'ом или reflection ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 17:02 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Я несказалбы что так уж и спокойно!!! Особенно рефлекшишы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 17:08 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Gold FishЯ несказалбы что так уж и спокойно!!! Особенно рефлекшишы А что в них сложного? Тока для параметров методов надо классы и интерфейсы ручками через имя из нужного classLoader по имени вытаскивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 17:19 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Gold FishЗадача(в упрощенном виде) в том что есть некая форма с JDesctopPane которая загружается локально а есть некоторые JInternalFrame корые лежат в БД, и в разных БД они могут быть разные(т.е. с одинаковым именем но разным контентом). Т.е. у пользователя после того как он подключается к базе выскакивает JInternalFrame который лежит в базе, если пользователь переподключился к другой базе (не перегружая приложение) то у него открывается это фрейм из текущей базы Несовсем понятно, почему вы выбрали в данном случае хранение байткода в базе, вместо объектов/данных. Если я правильно понял, вы загружаете из базы класс, инстанциируете его и юзаете полученный инстанс (скорее всего по одному и томуже интерфейсу)... Почему не взять инстанс? Может есть какие-то дополнительные ограничения о которых вы не упомянули? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 17:27 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Какбы есть клиенты которые подключаюся к БД. Для того чтобы если происходит обновление системы не нужно было менять класы на всех клиентах то эти класы вытягиваются из БД. Пример MBS Navision если видели конечно :-) Что вы имеете ввиду под Почему не взять инстанс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 17:44 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Gold FishКакбы есть клиенты которые подключаюся к БД. Для того чтобы если происходит обновление системы не нужно было менять класы на всех клиентах то эти класы вытягиваются из БД. Если я правильно понял, изменяюцца не отдельно взятые классы, а части системы... почему тогда не использовать это как отдельную библиотеку? Клиент скачивает (вытягивает из базы, еще откуда нибудь...) новую версию библиотеки и все начинает работать но уже по новому... Gold Fish Пример MBS Navision если видели конечно :-) К сожалению (или к счастью :) - не знаю ) не видел Gold FishЧто вы имеете ввиду под Почему не взять инстанс? в свете ваших разъяснений уже не важно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 18:44 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Есть еще один нюанс который забыл описать. Клиент может подключится к другой базе где будет другой контент. Причем не перезапуская все приложение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 18:48 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Gold FishЕсть еще один нюанс который забыл описать. Клиент может подключится к другой базе где будет другой контент. Причем не перезапуская все приложение И нафига так изголятся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2005, 20:04 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Вопрос не в том изврат это или нет, а втом как это сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 18:11 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Лю-ю-ю-ю-ди-и-и-и!!!!!!! Неужели никто никогда подобные реализации не делал??? Помогите-е-е-е-е!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 11:37 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Если я делаю Код: plaintext 1. 2. 3. то васкакивает Exception in thread "AWT-EventQueue-0" java.lang.LinkageError: duplicate class definition: StartWindow Всетаки неужели никто не делал динамическую загрузку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 12:52 |
|
||
|
Обращение к ClassLoader
|
|||
|---|---|---|---|
|
#18+
Gold FishЕсли я делаю Код: plaintext 1. 2. 3. то васкакивает Exception in thread "AWT-EventQueue-0" java.lang.LinkageError: duplicate class definition: StartWindow Всетаки неужели никто не делал динамическую загрузку Когда вы компилируете этот код, какой класс StartWindow вы используете, где он лежит? И как он в дальнейшем используецца в коде? Чем отличаецца код класса StartWindow лежащий в одной базе от лежащего в другой? Имеют ли они одинаковый интерфейс??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2005, 13:07 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=759&tid=2150566]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
149ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 472ms |

| 0 / 0 |
