I've traced through the Java code and found that there is a hashmap in the session that appears to store references to the images that need to be generated. This hashmap appears to have a max size of 10. If I increased this size in the debugger to a larger number (exceeding the number of charts I try to generate concurrently), then I could get all charts to render without issue. Otherwise, any more than 10 charts resulted in the exceptions being thrown. I saw that this class has a setMaxSize method in the LRUSessionObjectAccessor.java file, but even when I set a breakpoint on this, it never seemed to be called. I also grepped through the Java source files themselves and could not find any calls to setMaxSize either. Does anyone know where the limit of 10 gets set? And is there a way to increase this without necessitating a code change? EDIT: I found that the applicationContext.xml settings file has a maxSize property, which has a comment regarding dashboard image loading problems. I tested updating this setting to a larger number in the community edition and found that it addressed my chart loading issues. I am trying to get this change tested in our production JasperServer Pro installation to see if it helps as well.