Size: a a a

2020 February 05

d

dima in learn.java
и вот этот класс
источник

DS

Dmitriy Shilnikov in learn.java
Если руками открывать и закрывать транзакцию в целевом методе, то тогда не понятно, зачем свою аннотацию делать, если всё равно метод приходится менять, чтобы её использовать. Открывать и закрывать в аспекте - это надо знать, есть ли вообще над целевым методом @Transactional. По-моему, в существующем виде это очень неуниверсальное решение получается.
источник

Ю

Юрий in learn.java
мне тут подсказали что можно класс заинжектить сам себя и потом с него вызвать метод с моей аннотацией проксированный
источник

Ю

Юрий in learn.java
и будет работать
источник

d

dima in learn.java
это хак
источник

DS

Dmitriy Shilnikov in learn.java
Юрий
и будет работать
Не всегда
источник

d

dima in learn.java
так не делай
источник

DS

Dmitriy Shilnikov in learn.java
Вернее прокси-то вызовется, но @Transactional-то может и по-другому сработать
источник

d

dima in learn.java
dima
для асинхронных тасок + бд есть @Async, @TransactionalEventListener
Еще плюс этого способа - листенер привязан строго к транзакции
источник

DS

Dmitriy Shilnikov in learn.java
Вообще если ты прямо так класс корячишь, то не проще прямо твой Debouncer заинжектить и руками вызвать?
источник

d

dima in learn.java
если ее нет - то ничего и не будет
источник

Ю

Юрий in learn.java
Dmitriy Shilnikov
Вообще если ты прямо так класс корячишь, то не проще прямо твой Debouncer заинжектить и руками вызвать?
ахха)))
источник

DS

Dmitriy Shilnikov in learn.java
Инжект объекта - это одна лишняя строчка, вызов - вторая
источник

Ю

Юрий in learn.java
тогда зачем аннотации)
источник

DS

Dmitriy Shilnikov in learn.java
И всё прозрачно и понятно
источник

DS

Dmitriy Shilnikov in learn.java
Юрий
тогда зачем аннотации)
По-моему, смысл аннотаций в том, что ты ими меняешь / расширяешь поведение метода, не меняя сам метод. Если тебе приходится весь класс раскорячить, чтобы аннотацию прилепить, то от неё один вред и никакой пользы
источник

DS

Dmitriy Shilnikov in learn.java
Если бы я делал эту таску, и мне надо было бы аннотацию сделать, то я бы транзакцию в аспекте бы начал.
источник

DS

Dmitriy Shilnikov in learn.java
По-моему, это будет работать, не требует изменений класса, ну и в документации можно отразить, что именно она делает.
источник

DP

Definitely Not Peter Capaldi in learn.java
Добрый вечер. Предположим, что у меня есть целочисленный массив, состоящий из нулей и единиц
int[] a = new int[]{0,1,1,0};

Как мне получить из этого массива двоичное число 0110 ?
источник

AY

Andrew Yablokov in learn.java
Definitely Not Peter Capaldi
Добрый вечер. Предположим, что у меня есть целочисленный массив, состоящий из нулей и единиц
int[] a = new int[]{0,1,1,0};

Как мне получить из этого массива двоичное число 0110 ?
new BigInteger(new byte[] { 0x00, 0x00, 0x00, 0x01 })).intValue()
источник