Я использую Oracle Coherence cache в своем компоненте java-сервера.Я подписываюсь и слушаю события изменения кэша, используя следующие обработчики событий:
public void entryUpdated(MapEvent mapEvent)
{
processUpdateEvent(mapEvent);
}
public void entryDeleted(MapEvent mapEvent)
{
//processDeleteEvent(mapEvent);
}
public void entryInserted(MapEvent mapEvent)
{
processInsertEvent(mapEvent);
}
Иногда мы получаем поток огромного количества событий «обновления» в кэше (события «удаления» или «вставки»)их очень мало) ... и кажется, что наш текущий Java-код недостаточно масштабируем, чтобы справиться с этим сценарием.Таким образом, в результате он отстает в обработке событий.
Я пытаюсь изменить дизайн и оптимизировать этот код.
Одна вещь, которая пришла мне в голову, - это использовать следующий подход,Но я думаю, что это не имеет смысла, так как он будет запускать новый поток для каждого нового события, что снова замедлит общую производительность сервера.Можно ли как-нибудь оптимизировать этот код, пожалуйста?
Thread thread = new Thread(new Runnable() {
public void run() {
processUpdateEvent();
}
});
thread.start();
Спасибо.