[ https://issues.apache.org/jira/browse/CXF-7473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16156745#comment-16156745 ]
Dennis Kieselhorst commented on CXF-7473: ----------------------------------------- You were right, my fix didn't cover all cases (org.apache.cxf.jaxrs.provider.ProviderFactoryTest#testGetComplexProvider2 was failing). So instead of fixing it in ProviderFactory#getGenericInterfaces, maybe we should add another check in ProviderFactory#handleMapper to ensure that mapperClass really fits? > ExceptionMapper class hierarchies: incompatible ExceptionMapper selected > ------------------------------------------------------------------------ > > Key: CXF-7473 > URL: https://issues.apache.org/jira/browse/CXF-7473 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 3.1.11, 3.1.12 > Reporter: Jocelyn Lepage > Fix For: 3.2.1 > > > CXF seems to select an incompatible ExceptionMapper when using class > hierarchies. > More precisely, if I define an abstract exception class like following: > {code:java} > @Provider > public abstract class AbstractExceptionMapper<E extends Throwable> implements > ExceptionMapper<E> { > ... > {code} > Then I define a concrete one for IllegalArgumentExceptions: > {code:java} > public class IllegalArgumentExceptionMapper extends > AbstractExceptionMapper<IllegalArgumentException> { > ... > {code} > IllegalArgumentExceptionMapper will then be selected even for > RuntimeException subtypes unrelated to IllegalArgumentExceptions. > See minimal project showing the problem > [here|https://github.com/jlepage-appdirect/cxf-exception-mapper-bug] > Similar (if not same) problem seems to have been reported via CXF-6635, but I > do see this with 3.1.11 and 3.1.12. > Thx! -- This message was sent by Atlassian JIRA (v6.4.14#64029)