Spring AOP внедряет «тихий» параметр методаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring AOP внедряет «тихий» параметр метода

Сообщение Anonymous »

Я почти уверен, что невозможно добиться такого странного поведения, но собираюсь его выбросить.
Я хочу внедрить параметр метода и сделать его доступным для код метода. Однако я не хочу, чтобы он был в списке параметров.
Моя текущая реализация: я написал аспект, который ищет объект транзакции в списке параметров, создает и запускает эту транзакцию, внедряет ее. в нужном месте в args[], продолжается(args), а затем фиксируется или откатывается. Я не могу использовать транзакции Spring, потому что это глобальная транзакция, которая управляет двумя базовыми ресурсами, которые не поддерживают транзакции XA, и я не хочу, чтобы этот шаблонный код управления транзакциями был вставлен в каждый метод.
например. псевдокод того, как он будет применяться

Код: Выделить всё

@MyTransaction
public void myMethod (String user, Transaction tx, String otherParam) {
mySPecialAdapter.insert(createSomeCypherQL(user), tx);
}
Проблема в том, что со стороны вызывающего сайта это выглядит странно, как будто мне нужно что-то передать, хотя я знаю, что внутри это будет заменено правильным объектом транзакции

Код: Выделить всё

myMethod("user", null, "otherParam");
Может быть, я подхожу к этому не с той точки зрения..

Подробнее здесь: https://stackoverflow.com/questions/785 ... -parameter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»