--- old/src/share/classes/java/awt/EventQueue.java 2015-01-16 16:39:34.236602200 +0400 +++ new/src/share/classes/java/awt/EventQueue.java 2015-01-16 16:39:33.246545600 +0400 @@ -181,7 +181,19 @@ private final String name = "AWT-EventQueue-" + threadInitNumber.getAndIncrement(); - private static final PlatformLogger eventLog = PlatformLogger.getLogger("java.awt.event.EventQueue"); + private static volatile PlatformLogger eventLog; + private static Object eventLogCreationLock = new Object(); + + private static final PlatformLogger getEventLog() { + if(eventLog == null) { + synchronized (eventLogCreationLock) { + if(eventLog == null){ + eventLog = PlatformLogger.getLogger("java.awt.event.EventQueue"); + } + } + } + return eventLog; + } static { AWTAccessor.setEventQueueAccessor( @@ -748,8 +760,8 @@ dispatchThread.stopDispatching(); } } else { - if (eventLog.isLoggable(PlatformLogger.FINE)) { - eventLog.fine("Unable to dispatch event: " + event); + if (getEventLog().isLoggable(PlatformLogger.FINE)) { + getEventLog().fine("Unable to dispatch event: " + event); } } } @@ -846,8 +858,8 @@ * @since 1.2 */ public void push(EventQueue newEventQueue) { - if (eventLog.isLoggable(PlatformLogger.FINE)) { - eventLog.fine("EventQueue.push(" + newEventQueue + ")"); + if (getEventLog().isLoggable(PlatformLogger.FINE)) { + getEventLog().fine("EventQueue.push(" + newEventQueue + ")"); } pushPopLock.lock(); @@ -870,8 +882,8 @@ // Use getNextEventPrivate() as it doesn't call flushPendingEvents() newEventQueue.postEventPrivate(topQueue.getNextEventPrivate()); } catch (InterruptedException ie) { - if (eventLog.isLoggable(PlatformLogger.FINE)) { - eventLog.fine("Interrupted push", ie); + if (getEventLog().isLoggable(PlatformLogger.FINE)) { + getEventLog().fine("Interrupted push", ie); } } } @@ -909,8 +921,8 @@ * @since 1.2 */ protected void pop() throws EmptyStackException { - if (eventLog.isLoggable(PlatformLogger.FINE)) { - eventLog.fine("EventQueue.pop(" + this + ")"); + if (getEventLog().isLoggable(PlatformLogger.FINE)) { + getEventLog().fine("EventQueue.pop(" + this + ")"); } pushPopLock.lock(); @@ -932,8 +944,8 @@ try { prevQueue.postEventPrivate(topQueue.getNextEventPrivate()); } catch (InterruptedException ie) { - if (eventLog.isLoggable(PlatformLogger.FINE)) { - eventLog.fine("Interrupted pop", ie); + if (getEventLog().isLoggable(PlatformLogger.FINE)) { + getEventLog().fine("Interrupted pop", ie); } } }