Repository: tomee Updated Branches: refs/heads/master 38184f38d -> 54221fff9
TOMEE-1535 don't scan @Path on methods only to skip subresources Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/54221fff Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/54221fff Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/54221fff Branch: refs/heads/master Commit: 54221fff9b96e6a4e1f49742e9e6ce67f0e051ec Parents: 38184f3 Author: Romain Manni-Bucau <[email protected]> Authored: Mon Mar 30 10:56:28 2015 +0200 Committer: Romain Manni-Bucau <[email protected]> Committed: Mon Mar 30 10:56:28 2015 +0200 ---------------------------------------------------------------------- .../openejb/config/AnnotationDeployer.java | 25 ++++++++++---------- .../server/cxf/rs/CxfRsHttpListener.java | 2 +- 2 files changed, 14 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/54221fff/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java b/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java index eda75e6..f4713bf 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java @@ -5552,20 +5552,21 @@ public class AnnotationDeployer implements DynamicDeployer { } } - // methods annotations: inheritance is managed like it to be more efficient - final List<Annotated<Method>> methods = finder.findMetaAnnotatedMethods(Path.class); - for (final Annotated<Method> aMethod : methods) { - final Method method = aMethod.get(); - final Class<?> clazz = method.getDeclaringClass(); - - if (isInstantiable(clazz)) { - if (!isEJB(clazz)) { + if ("true".equalsIgnoreCase(SystemInstance.get().getProperty("openejb.jaxrs.scanning.methods", "false"))) { + final List<Annotated<Method>> methods = finder.findMetaAnnotatedMethods(Path.class); + for (final Annotated<Method> aMethod : methods) { + final Method method = aMethod.get(); + final Class<?> clazz = method.getDeclaringClass(); + + if (isInstantiable(clazz)) { + if (!isEJB(clazz)) { + classes.add(clazz.getName()); + } else { + webModule.getEjbRestServices().add(clazz.getName()); + } + } else if (isEJB(clazz) && DynamicSubclass.isDynamic(clazz)) { classes.add(clazz.getName()); - } else { - webModule.getEjbRestServices().add(clazz.getName()); } - } else if (isEJB(clazz) && DynamicSubclass.isDynamic(clazz)) { - classes.add(clazz.getName()); } } http://git-wip-us.apache.org/repos/asf/tomee/blob/54221fff/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java ---------------------------------------------------------------------- diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java index 80ba49a..d9a1253 100644 --- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java +++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java @@ -437,7 +437,7 @@ public class CxfRsHttpListener implements RsHttpListener { } private static void addMandatoryProviders(final Collection<Object> instances) { - instances.add(new JsrProvider()); // is this one really mandatory? + instances.add(new JsrProvider()); instances.add(new WadlDocumentMessageBodyWriter()); instances.add(EJBAccessExceptionMapper.INSTANCE);
