2012-06-13 2 views
2

В настоящее время я разрабатываю многопоточное приложение на основе Java, которое предоставляет графический интерфейс и обращается к сервису через сеть.Ошибки отчетности в многопоточном Java-приложении

Существуют ли какие-либо шаблоны, лучшие практики, библиотеки, фреймворки или API для сообщения об ошибках в системе на базе Java?

+1

«Ошибки отчетности в многопоточной Java-приложении» Можете ли вы подробнее рассказать немного больше. Вам действительно нужно многопоточное приложение. – amicngh

+0

Я вижу, что вы новый пользователь, поэтому, вероятно, стоит прочитать FAQ. В частности, http://stackoverflow.com/faq#dontask, который описывает типы вопросов, которые не могут быть заданы на SO. – serg10

ответ

2

У вас есть Thread.UncaughtExceptionHandler, который используется для обработки ошибок в Threads.

Thread t = new Thread(task); 

// add exception handler 
t.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler(){ 
    @Override 
    public void uncaughtException(Thread t, Throwable e) { 
    // do exception handling 
    } 
}); 

t.start(); 
1

Вы можете написать свой Task Tracker, который ничего реализация наблюдателей DesignPatter.

public class TaskTracker { 
private final List<ErrorListener> listeners = new ArrayList<ErrorListener>(); 

public Runnable wrap(final Runnable r) { 
    return new Runnable() { 
     public void run() { 
      try { r.run(); } 
      catch (Throwable t) { 
       for (ErrorListener el : listeners) 
        el.error(t, this); 
      } 
     } 
    }; 
} 

public void addListener(ErrorListener el) { listeners.add(el); } 

public void removeListener(ErrorListener el) { listeners.remove(el); } 

public static interface ErrorListener { 
    void error(Throwable t, Runnable r); 
} 
} 
Смежные вопросы