Есть ли какой-нибудь опрятный способ сохранить одно и то же имя потока при вызове RMI? На данный момент, если у меня есть именованный поток, который вызывает вызов RMI, на стороне сервера вызова RMI, Thread.currentThread().getName()
возвращает что-то не освещающее, как «RMI TCP Connection (4) -10.0.0.2».Сохранение одного и того же имени потока над RMI
Конечно, я мог бы добавить и добавить ко всем моим методам RMI параметр String callingThreadName
и сделать первую строку реализации каждого метода RMI Thread.currentThread().setName(callingThreadName)
, но это вряд ли самый простой способ сделать это. Есть ли способ получить хотя бы часть смысла имени потока, переданного через соединение RMI?
Могу ли я спросить, почему вы хотите это сделать? Почему имя потока, обрабатывающего запрос на стороне сервера, даже имеет значение? Возможно, вы пытаетесь решить побочный эффект любой вашей реальной проблемы. –
Как полагает ниже Ромайн, в основном отслеживать потоки последовательно в разных файлах журналов. Система представляет собой распределенное вычисление - каждый рабочий компьютер создает один объект, содержащий метод, который вызывается несколькими потоками от ведущего, чтобы выполнить фактическое вычисление. Из-за характера вычислений потоки должны идти назад и вперед между мастером и рабочими, поэтому начало потоков на рабочем месте оставило бы меня с той же проблемой на хозяине. – Scott