Такие случаи, особенно в EJB, обычно лучше всего обрабатывать через локальное состояние потока. Обычно сценарий использования похож на то, как если бы у вас была определенная транзакция, в которой возникла проблема, и вам необходимо повысить уровень ведения журнала, чтобы отладить эту операцию, чтобы вы могли сгенерировать подробный журнал операции, в которой возникла проблема. Перенести в транзакцию локальное состояние потока и использовать его для выбора правильного регистратора. Честно говоря, я не знаю, где было бы полезно установить уровень INSTANCE в этой среде, потому что отображение экземпляров в транзакции должно быть функцией уровня контейнера, на самом деле вы не сможете контролировать, какой экземпляр используется в данная транзакция в любом случае.
Даже в тех случаях, когда вы имеете дело с DTO, обычно не стоит проектировать вашу систему таким образом, чтобы требовался конкретный экземпляр, потому что дизайн может легко эволюционировать таким образом, что это станет плохим выбором. , Вы можете прийти через месяц и решить, что соображения эффективности (кэширование или какая-либо другая оптимизация с изменением жизненного цикла) нарушат ваше предположение о сопоставлении экземпляров в единицах работы.