Estoy ejecutando un proceso en un hilo separado con un tiempo de espera, usando un ExecutorService y un Future (código de ejemplo here) (el hilo "spawning" tiene lugar en un Aspecto AOP)Propagando ThreadLocal a un nuevo Thread obtenido de un ExecutorService
Ahora, el hilo principal es una solicitud Resteasy. Resteasy usa una o más variables de ThreadLocal para almacenar cierta información de contexto que necesito recuperar en algún momento de mi llamada al método Rest. El problema es que, dado que el hilo Resteasy se está ejecutando en un nuevo hilo, las variables de ThreadLocal se pierden.
¿Cuál sería la mejor manera de "propagar" cualquier variable ThreadLocal utilizada por Resteasy al nuevo hilo? Parece que Resteasy usa más de una variable ThreadLocal para realizar un seguimiento de la información de contexto y me gustaría transferir "ciegamente" toda la información al nuevo hilo.
He examinado la subclase ThreadPoolExecutor
y el método beforeExecute para pasar el hilo actual al grupo, pero no pude encontrar una forma de pasar las variables ThreadLocal al grupo.
¿Alguna sugerencia?
Gracias
Podría volver a escribir el segundo párrafo ligeramente? Me confunde Además, ¿qué pasa con beforeExecute? ¿No puede hacer que funcione correctamente o se da cuenta de que no puede satisfacer sus necesidades? – toto2