Size: a a a

2020 December 18

e

evergood in pro.jvm
Дмитрий
Вы хотите перехватывать все сообщения или с конкретной очереди (@RabbitListener(queues = "name_queue") ?
да в принципе все
источник

Д

Дмитрий in pro.jvm
evergood
да в принципе все
Конкретную очередь:
У вас @RabbitListener на методе, метод в вашем классе. Логирование сделать нужно в методе над котором аннотация.

Все сообщения: (я предполагаю что у вас  Spring) Вам имплементиться от MessagePostProcessor и переопределить метод и вы будете перехватывать все сообщения.
описание https://clck.ru/SWbNB
источник

e

evergood in pro.jvm
Дмитрий
Конкретную очередь:
У вас @RabbitListener на методе, метод в вашем классе. Логирование сделать нужно в методе над котором аннотация.

Все сообщения: (я предполагаю что у вас  Spring) Вам имплементиться от MessagePostProcessor и переопределить метод и вы будете перехватывать все сообщения.
описание https://clck.ru/SWbNB
в методе всмысле руками прописать?
источник

A

Anton in pro.jvm
Подскажите, пожалуйста. Как можно определить утечку памяти, если она точно не в хипе? Есть инстанс, на котором java процесс (в данном случае tomcat) стабильно прирастает в памяти на процент в течение нескольких дней.
источник

AG

Alexey Genus in pro.jvm
Может быть, всё-таки в хипе? Если всё-таки в нативе, то Valgrind может помочь
источник

A

Anton in pro.jvm
Спасибо, посмотрю.
источник

МК

Мойша Кац in pro.jvm
Привет! Подскажите пожалуйста можно ли в java прерывать выполнения цикла по нажатию клавиши в консольном приложение

Вот пример цикла который должен быть break при нажатии на любую кнопку

for (var i = 0; i < 10; i++) {
Thread.sleep(1000);
soup("* ");
}
источник

AB

Alessio Bratenkov in pro.jvm
источник

VP

Vladimir Petrakovich in pro.jvm
Мойша Кац
Привет! Подскажите пожалуйста можно ли в java прерывать выполнения цикла по нажатию клавиши в консольном приложение

Вот пример цикла который должен быть break при нажатии на любую кнопку

for (var i = 0; i < 10; i++) {
Thread.sleep(1000);
soup("* ");
}
Запускайте фоновый поток и делайте System.exit() при чтении символа из System.in
источник

МК

Мойша Кац in pro.jvm
Спасибо
источник

МК

Максим Калашников... in pro.jvm
Vladimir Petrakovich
Запускайте фоновый поток и делайте System.exit() при чтении символа из System.in
вредный совет)
источник

И

Иλьямбда in pro.jvm
Vladimir Petrakovich
Запускайте фоновый поток и делайте System.exit() при чтении символа из System.in
Ну лучше не делать System.exit(), а сделать какой-то gracefull shutdown, например, через .interrupt()
источник

И

Иλьямбда in pro.jvm
Тогда в главном потоке выходить из фора по условию !isInterrupted(), ну и ловить InterruptedException, котторый может прилететь из Thread.sleep
источник

И

Иλьямбда in pro.jvm
fun main() {
   val mainThread = thread {
       var i = 0
       while (i < 1_000_000 && !Thread.currentThread().isInterrupted) {
           try {
               Thread.sleep(1000)
           } catch (e: InterruptedException) {
               break
           }
           println(i)
           i += 1
       }
       // some cleanup here
   }

   val controlThread = thread(isDaemon = true) {
       System.`in`.read()
       mainThread.interrupt()
   }

   mainThread.join()
}

Ну то есть, условно говоря, что-то такое
источник

b

borsch in pro.jvm
вместо interrupt можна еще AtomicBoolean, тогда код будет чуть чище
источник

И

Иλьямбда in pro.jvm
borsch
вместо interrupt можна еще AtomicBoolean, тогда код будет чуть чище
AtomicBoolean нельзя внутри системных вызовов проверять, так что код продолжит спать ещё секунду после ввода символа
источник

b

borsch in pro.jvm
ну все с sleep - да, согласен
источник

И

Иλьямбда in pro.jvm
механизм прерываний потока примерно для таких целей и был задуман, незачем извращаться с собственными примитивами, имхо
источник

П

Павел in pro.jvm
Всем ку. В гугел ходил прежде чем спросить. Есть сущность(бытия). У неё есть поле типа LocalDateTime. Если производить выборку из таблицы, фильтруя по этому полю при помощи репозитория, то она всегда пустая. В чем может быть беда?
источник

AE

Alexandr Emelyanov in pro.jvm
Павел
Всем ку. В гугел ходил прежде чем спросить. Есть сущность(бытия). У неё есть поле типа LocalDateTime. Если производить выборку из таблицы, фильтруя по этому полю при помощи репозитория, то она всегда пустая. В чем может быть беда?
Включи логгирование запросов и посмотри какой запрос выполняется
источник