У меня есть веб-приложение, которое порождает большое количество потоков рабочего потока в ответ на запросы к определенной конечной точке. Чтобы обеспечить большую прозрачность в отношении состояния рабочих, я добавил автобус событий, на который рабочие могут отправлять события. События переносятся на карту, отслеживая состояние каждого работника с течением времени. Периодически карта снимается и перемещается в более постоянное место, где моментальные снимки связаны с запросом через токен запроса.Когда собираются объекты мусора Google Guava EventBus?
Это, безусловно, привлекает каждый запрос на собственный автобус. Затем каждый запрос получает свою собственную карту. Когда запрос завершается, и окончательный моментальный снимок толкается, карта и шина событий выходят за пределы области видимости и, следовательно, собираются мусор.
По крайней мере, это теория. Но некоторые люди, с которыми я говорил, предположили, что автобус событий не будет собран, даже если единственная явная ссылка на него выходит за рамки, потому что ему удается создавать другие ссылки для себя во время установки. Я был бы очень признателен за более опытную точку зрения практикующего Java/Guava.
Я не мог найти ничего подобного в документации ....: - | Являются ли ваши источники достоверными? – Thihara
Я также видел, что нити не были выпущены, как только будет обработано событие. Буду признателен за любые замечания по этому поводу. – RohanRasane