Size: a a a

Java/Kotlin and more

2021 June 07

AR

Alexei Rudoi in Java/Kotlin and more
Добрый день! Подскажите, пожалуйста
Есть 2 аккаунта, один другому переводят деньги в 2-х разных потоках. При блокировки только одного аккаунта инкрементируется счетчик failCounter неудачных попыток заблокировать аккаунт. После вывода в консоль количества неудачных попыток в строке 29 класса Operations программа завершает работу
источник

AR

Alexei Rudoi in Java/Kotlin and more
источник

AR

Alexei Rudoi in Java/Kotlin and more
источник

AL

Aleksander Lemyagov in Java/Kotlin and more
Для чего аннотация нужна вообще? @Async. У меня был опыт с такой аннотацией. Был метод @Scheduled аннотацией и с @Async. И метод выполнялся дольше чем указано в @Scheduled и получалось так, что спринг вызывал еще раз метод, хотя предвдущий вызов еще не завершился.
источник

RZ

Roman Zinchuk in Java/Kotlin and more
Мне как оказалось он не нужен(просто скопипастил и не подумал), но как вы заметили нужен для паралельного выполнения джобов, чтобы не ждать пока предыдущий не завершится. Но я не совмес понимаю  значит ли это, что все джобы ждут завершения других джобов, или только одна и та же джоба ждет своего завершения перед следующим выполнением
источник

AL

Aleksander Lemyagov in Java/Kotlin and more
Что бы спринг ждал завершения предвдущей операции аннотация @Async не нужна. В аннотации @Scheduled есть fixedDelay и т.д. параметры
источник

RZ

Roman Zinchuk in Java/Kotlin and more
Fixed delay не так работает пишут
источник

RS

Ruslan Stelmachenko in Java/Kotlin and more
@Scheduled методы выполняются с помощью бина TaskScheduler, который должен присутствовать в контексте. Возможность их одновременного запуска зависит от того, как настроен этот TaskScheduler (какого размера пул потоков там и т.п.). Если в контексте вообще нет такого бина, то создастся на ходу однопоточный, вследствие чего все @Scheduled методы будут выстраиваться в очередь друг за другом в случае, если вдруг решат запуститься одновременно.

Советую почитать хотя бы жавадоки от аннотации @EnableScheduling - там это поведение описано. А лучше весь раздел референса про шедулинг.
источник

RZ

Roman Zinchuk in Java/Kotlin and more
спасибо, теперь понятно)
источник
2021 June 08

AE

Alexandr Emelyanov in Java/Kotlin and more
Это работа выходит за рамки периода запуска расписания?
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
А, вижу уже Руслан объяснил
источник

RZ

Roman Zinchuk in Java/Kotlin and more
entitymanager.find(class,id) возвращает null если carrier_id равно NULL в базе, хотя сущность с таким идом существует, проставляеш carrieri_id и все работает , ключ обычный Long.
источник

I

ID in Java/Kotlin and more
Добрый день. Подскажите, как пройтись по HashMap и внести изменения в мап?
Выбрасывает исключение java.util.ConcurrentModificationException
Чекнул в api.
Note that this exception does not always indicate that an object has been concurrently modified by a different thread. If a single thread issues a sequence of method invocations that violates the contract of an object, the object may throw this exception. For example, if a thread modifies a collection directly while it is iterating over the collection with a fail-fast iterator, the iterator will throw this exception.
В этот момент поток садится в монитор, поэтому проблема не в потоке. Проблема в попытке изменить мап(удалить элементы) во время итерации
источник

Д

Дмитрий in Java/Kotlin and more
map = map.entrySet.stream.filter.toMap
источник

I

ID in Java/Kotlin and more
спасибо
источник

RZ

Roman Zinchuk in Java/Kotlin and more
это одна из причин почему я избегаю сеттеров вида
setParent(parent){
this.parent = parent;
parent.childrens.push(this);
}
источник

Д

Дмитрий in Java/Kotlin and more
и в 1С нет интересных проектов
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
на днях вакансию видел на java и jsp, офф сайт 1С править
источник

ME

Makhlov Egor in Java/Kotlin and more
Ребят, есть ли статьи по тому в каких случая стоит делать объект immutable, а в каких - нет?
Гослинг как-то на одной из конференций выдал фразу "Я бы использовал неизменяемый объект всякий раз как мог" (или около того)

Не знаю как поступить в данном случае...
Есть крайне простая имитация банковской системы, которая умеет переводить деньги с карты на карту и выводить сумму на счете к которому карта привязана. Система 3-tier.

Стоит ли KeyAccount, CurrentAccount, CreditCard делать immutable и всякий раз формировать новую сущность при изменении атрибутов в DAO (перевод денег с счета на счет будет обновлять значение полей в БД и возвращать новые сущности в систему с новыми значениями полей)

P.S. Диаграмма не финальная
источник

K

Kehlani in Java/Kotlin and more
Иммутабельность и JPA вроде несовместимы друг с другом?
источник