Description
Ciao Alessandro!
I noticed this exception when 2 threads are trying to build the same Mapper and no mapper are available on cache (eg: app just started)
com.googlecode.jmapper.exceptions.JMapperException: javassist.CannotCompileException: by java.lang.LinkageError: loader (instance of org/apache/catalina/loader/WebappClassLoader): attempted duplicate class definition for name: "comerawebgroupshakeThePAWcorelogicboBuddycomerawebgroupshakeThePAWcorelogicdaojpapoBuddyPO"
at com.googlecode.jmapper.config.JmapperLog.ERROR(JmapperLog.java:46)
at com.googlecode.jmapper.JMapper.(JMapper.java:418)
at com.googlecode.jmapper.JMapper.(JMapper.java:358)
at com.erawebgroup.shakeThePAW.core.logic.dao.converters.BuddyPOConverter.convertPOtoBO(BuddyPOConverter.java:95)
at com.erawebgroup.shakeThePAW.core.logic.dao.jpa.STPJPABuddyDAO.findByEmail(STPJPABuddyDAO.java:330)
at com.developerscrappad.rest.business.RESTResourceNotification.getMyPendingNotificationsCount(RESTResourceNotification.java:141)
... when the mapper is available in cache, no exceptions are rised. (eg: a second call of the same function, even from concurrent threads)
Maybe this behavior is simply "working as intended".
I solved this "non problem" by triggering Mappers caching at app start.
BTW, the chance that concurrent threads trigger the build of same mapper, in general, is very low ;-)
Personal note:
Grazie per questo fantastico contributo alla community!
A presto!