Here is some sample code to fix this:
/* give worker threads a meaningful name such as "OIO-worker-2" */ try { ThreadRenamingRunnable.setThreadNameDeterminer( new ThreadNameDeterminer() { public String determineThreadName(String currentThreadName, String proposedThreadName) throws Exception { StringBuffer sb = new StringBuffer(WORKER_THREADNAME_PREFIX); sb.append(currentThreadName.substring(currentThreadName.lastIndexOf('-'))); return sb.toString(); } }); } catch (Exception e) { /* fall back to default thread name, e.g. pool-X-thread-X */ ThreadRenamingRunnable.setThreadNameDeterminer(ThreadNameDeterminer.CURRENT); }