PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java Swing - Exception while removing reference: RejectedExecutionException


Sephiroth
2009-05-10, 18:42:57
Wenn ich meine Swing Applikation, die einen JFileChooser enthält, beende, dann erhalte ich immer folgende Exceptions, wenn ich den Dialog gar nicht anzeigen lasse. Wird er mindestens ein Mal gezeigt passiert nix!

Den Dialog zeige ich mit
myDialog.showSaveDialog(this)
an.

Ist das Normal (unter Vista) oder hab ich da was vergessen?

Fehlermeldungen
Exception while removing reference: java.util.concurrent.RejectedExecutionException
java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPool Executor.java:1760)
Exception while removing reference: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java :92)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager 2.java:493)
at sun.awt.shell.Win32ShellFolder2$FolderDisposer.dispose(Win32ShellFolder2.java:17 0)
at sun.java2d.Disposer.run(Disposer.java:128)
at java.lang.Thread.run(Thread.java:619)
java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPool Executor.java:1760)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
Exception while removing reference: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java :92)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager 2.java:493)
at sun.awt.shell.Win32ShellFolder2$FolderDisposer.dispose(Win32ShellFolder2.java:17 0)
at sun.java2d.Disposer.run(Disposer.java:128)
at java.lang.Thread.run(Thread.java:619)
java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPool Executor.java:1760)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java :92)
Exception while removing reference: java.util.concurrent.RejectedExecutionException
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager 2.java:493)
at sun.awt.shell.Win32ShellFolder2$FolderDisposer.dispose(Win32ShellFolder2.java:17 0)
at sun.java2d.Disposer.run(Disposer.java:128)
at java.lang.Thread.run(Thread.java:619)
java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPool Executor.java:1760)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
Exception while removing reference: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java :92)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager 2.java:493)
at sun.awt.shell.Win32ShellFolder2$FolderDisposer.dispose(Win32ShellFolder2.java:17 0)
at sun.java2d.Disposer.run(Disposer.java:128)
at java.lang.Thread.run(Thread.java:619)
java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPool Executor.java:1760)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
Exception while removing reference: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java :92)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager 2.java:493)
at sun.awt.shell.Win32ShellFolder2$FolderDisposer.dispose(Win32ShellFolder2.java:17 0)
at sun.java2d.Disposer.run(Disposer.java:128)
at java.lang.Thread.run(Thread.java:619)
java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPool Executor.java:1760)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java :92)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager 2.java:493)
at sun.awt.shell.Win32ShellFolder2$FolderDisposer.dispose(Win32ShellFolder2.java:17 0)
at sun.java2d.Disposer.run(Disposer.java:128)
Exception while removing reference: java.util.concurrent.RejectedExecutionException
at java.lang.Thread.run(Thread.java:619)
java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPool Executor.java:1760)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java :92)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager 2.java:493)
at sun.awt.shell.Win32ShellFolder2$FolderDisposer.dispose(Win32ShellFolder2.java:17 0)
at sun.awt.shell.Win32ShellFolder2$FolderDisposer.dispose(Win32ShellFolder2.java:17 0)

Sephiroth
2009-05-10, 19:38:29
Sieht aus wie Bug 6612928 (http://bugs.sun.com/view_bug.do?bug_id=6612928) - Win32ShellFolder2 throws RejectedExecutionException on application exit.

Berni
2009-05-10, 21:58:33
Wieso konstruierst du den JFileChooser nicht erst wenn du ihn tatsächlich brauchst? Einfach auf "null" initialisieren und wenn er gebraucht wird testen ob er auf "null" ist. Falls ja, neu konstruieren, ansonsten verwenden.
Kannst den JFileChooser auch in irgendne Klasse packen mit der statischen Klassenvariable "CentralFileChooser" und darauf ein getCentralFileChooser() (ebenfalls statische Methode) aufrufen. In der Funktion ist dann das ganze Prüfen auf null usw. verborgen und somit ist das für das restliche Programm an vielen Stellen einfach nutzbar.

Gast
2009-05-11, 11:43:10
Wieso konstruierst du den JFileChooser nicht erst wenn du ihn tatsächlich brauchst?

Netbeans initialisiert alle Objekte schon zu beginn. Da müsst ich ihn wieder nullen und dann reinitialisieren. Zwar nicht schön aber ich probier es mal aus.

hat natürlich nicht geklappt aber inzwischen tritt der fehler auch so nicht mehr auf o.0

-
Sephiroth