有没有办法让在EJB中运行的线程成为名称,以便在VisualVM的线程列表中识别它们?线程调用timer(@Timeout)和JMS(onMessage())方法以及http servlet方法。
目前,线程被赋予通用名称,例如:
http--0.0.0.0-443-3
or
EJB default - 9
我目前使用:
Thread.currentThread().setName("Checker thread")
在这些方法的开头,但我不确定它是否总是在VisualVM中工作,所以我正在寻找其他想法。
答案 0 :(得分:0)
在EJB的@PostConstruct
方法中,我使用相同的Thread
语句。
您可能还会考虑将其放在类级别拦截器中,并使用invocation context获取EJB的名称,并在此时相应地命名该线程。