Я хочу перехватить (@AroundInvoke) вызов метода ... получить исходные параметры метода (передать по ссылке) с помощью ctx.getParameters() и заменить их другими .. но Я хочу, чтобы исходные параметры также были изменены (!), А не просто вызывали метод с новыми параметрами.Перехватить метод и изменить исходные параметры
ответ
Я бы, возможно, попробовать подклассов класса, который имеет метод вызывается, а затем изменить параметры перед вызовом super.AroundInvoke (...), как
public class AroundInvokerOverrider extends ClassWithAroundInvokeMethod
{
@override
public void AroundInvoke(int a, char c, ...)
{
a += 1;
c = 'A';
super.AroundInvoke(a,c);
}
}
Это не изменяет исходные аргументы (которые в вашем случае передаются по значению, что означает, что их копия передается .. что неправильно). Просто вызывает метод с измененными аргументами. То, что я хочу, это то, что перехват заканчивается, исходные аргументы меняются! –
Я не думаю, что вы можете это сделать (без хакоса и обхода в любом случае). B/c java не поддерживает «пройти по ссылке» http://stackoverflow.com/questions/40480/is-java-pass-by -Справка – samosaris
- 1. Как перехватить/изменить the_category?
- 2. Перехватить статический метод с aspectJ
- 3. Как перехватить метод в Java
- 4. Метод ListView.Delete() и параметры
- 5. PHP исходные параметры против возврата функции
- 6. Получить исходные параметры, переданные в форму. Symfony2
- 7. Изменить параметры URI прохождение
- 8. Изменить исходные пиксельные данные WriteableBitmap?
- 9. Создать/изменить исходные теги ID3?
- 10. Android изменить исходные данные PNG
- 11. динамический и опциональный метод параметры
- 12. Виртуальный метод и параметры CSharp
- 13. Исходные параметры Spark JavaRDD должны быть сериализуемыми?
- 14. Возврат переадресации исходные параметры - Лучшая практика
- 15. Как сохранить исходные параметры после url_rewrite?
- 16. Groovy MetaProgramming - перехватить весь метод даже отсутствующих
- 17. Изменить параметры запроса и возвращает URL
- 18. Перехватить исходящие пакеты SIP и изменить их в обратном направлении
- 19. Как перехватить и изменить httprequests с помощью C#
- 20. Как перехватить и изменить HTTP-запросы Auth из расширения Chrome?
- 21. Как перехватить HTML из ViewResult, изменить его и обслуживать?
- 22. Как я могу перехватить и изменить чтение/запись программы?
- 23. Как перехватить и изменить http-запросы с помощью C#
- 24. Как перехватить и изменить данные, передаваемые из БД в ListView?
- 25. Как перехватить и изменить SQL-запрос в Linq to SQL
- 26. Python Scapy - перехватить и изменить http-пакет на localhost
- 27. Как перехватить и изменить запрос sql динамически в mybatis
- 28. Ruby: как перехватить метод, скрипка с аргументами, а затем вызвать метод
- 29. Как мы можем изменить исходные классы Java?
- 30. Как изменить исходные значения в ранговые порядки?
Я не понимаю ... если параметры передаются по ссылке, когда вы их меняете, а затем вызываете context.proceed() измененные также попадают в ваш аннотированный компонент @Interceptor ... Можете ли вы уточнить – Korgen