|
|
|
Dynamic proxy: вызов вложенных методов из проксируемого класса.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, появился вопрос. У меня есть класс, и для него Dynamic proxy и InvocationHandler. Вот класс: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. InvocationHandler как в примере у оракла. Я ожидал, что при вызове метода g() прокси перехватит и g() и f(), но этого не происходит. Видимо я неправильно понял или не понял что-то фундаментальное. Подскажите, что именно, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 18:41:46 |
|
||
|
Dynamic proxy: вызов вложенных методов из проксируемого класса.
|
|||
|---|---|---|---|
|
#18+
хорошо бы увидеть хоть какой-то код: код InvocationHandler, код создания объекта-прокси >>ожидал, что при вызове метода g() прокси перехватит и g() и f(), но этого не происходит как понять "при вызове метода g() прокси перехватит и g() и f()"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 19:04:38 |
|
||
|
Dynamic proxy: вызов вложенных методов из проксируемого класса.
|
|||
|---|---|---|---|
|
#18+
Прокси ничего не "перехватывает". Он "оборачивает". В этом существенная разница. Поэтому если вызвать proxy.f(), то вызовется InvocationHandler. А если вызвать intance.f(), то метод вызовется безовсяких прокси. У вас там вызов this.f() напрямую, кончено же он мимо прокси идёт. Стандартный геморой в Spring/JEE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 19:09:01 |
|
||
|
Dynamic proxy: вызов вложенных методов из проксируемого класса.
|
|||
|---|---|---|---|
|
#18+
Коваленко Валентин, как понять "при вызове метода g() прокси перехватит и g() и f()"? вот так: Код: java 1. 2. 3. 4. 5. внутри g() вызывается f(). Оба метода интерфейсные, но вложенный вызов f() не перехватывается. хорошо бы увидеть хоть какой-то код: код InvocationHandler, код создания объекта-прокси код ровно как у оракла, создание прокси внутри - статический метод newInstance(Object obj) Вот код хендлера: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2012, 19:13:52 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=260&tid=2130587]: |
0ms |
get settings: |
18ms |
get forum list: |
24ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
43ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 339ms |
| total: | 529ms |

| 0 / 0 |
