I'm looking for culprits taking up memory in a heap dump.
A prime suspect is SimpleApplicationEventMulticaster
which seems to have a 128 meg ConcurrentHashMap
within it. This is possibly the retrieverCache
within it.
Is it possible to get a memory issue here where for example, events are published but never consumed ?
What happens to an unconsumed event (i.e. one with no listeners) ? Does it live in memory until the death of the JVM ?