/** * Implements MessageReceiver.startReceive. */ public void startReceive() { if (!isScheduled) { if (Log.isDebug()) Log.getLogger(JMSAdapter.LOG_CATEGORY).debug(Thread.currentThread() + " JMS consumer sync receive thread for JMS destination '" + jmsConsumer.destinationJndiName + "' is starting to poll the JMS server for new messages."); ThreadFactory mrtf = new MessageReceiveThreadFactory(); messageReceiverService = Executors.newScheduledThreadPool(syncMaxReceiveThreads, mrtf); messageReceiverService.scheduleAtFixedRate(new MessageReceiveThread(), syncReceiveIntervalMillis, syncReceiveIntervalMillis, TimeUnit.MILLISECONDS); isScheduled = true; } }