Commit c90630ec75a6b9133dcd1d6bf26425924d818bb7

Authored by Cleverson Sacramento
1 parent 78303152
Exists in master

Verificação do ClassLoader ao executar o Startup

impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/StartupBootstrap.java
@@ -55,6 +55,7 @@ import javax.enterprise.inject.spi.ProcessAnnotatedType; @@ -55,6 +55,7 @@ import javax.enterprise.inject.spi.ProcessAnnotatedType;
55 import br.gov.frameworkdemoiselle.DemoiselleException; 55 import br.gov.frameworkdemoiselle.DemoiselleException;
56 import br.gov.frameworkdemoiselle.annotation.Startup; 56 import br.gov.frameworkdemoiselle.annotation.Startup;
57 import br.gov.frameworkdemoiselle.annotation.ViewScoped; 57 import br.gov.frameworkdemoiselle.annotation.ViewScoped;
  58 +import br.gov.frameworkdemoiselle.internal.configuration.ConfigurationLoader;
58 import br.gov.frameworkdemoiselle.internal.context.ThreadLocalContext; 59 import br.gov.frameworkdemoiselle.internal.context.ThreadLocalContext;
59 import br.gov.frameworkdemoiselle.internal.processor.StartupProcessor; 60 import br.gov.frameworkdemoiselle.internal.processor.StartupProcessor;
60 61
@@ -123,10 +124,15 @@ public class StartupBootstrap extends AbstractBootstrap { @@ -123,10 +124,15 @@ public class StartupBootstrap extends AbstractBootstrap {
123 StartupProcessor processor = iter.next(); 124 StartupProcessor processor = iter.next();
124 125
125 try { 126 try {
126 - processor.process(); 127 + ClassLoader classLoader = ConfigurationLoader.getClassLoaderForClass(processor.getAnnotatedMethod()
  128 + .getDeclaringType().getJavaClass().getCanonicalName());
127 129
128 - if (remove) {  
129 - iter.remove(); 130 + if (classLoader.equals(Thread.currentThread().getContextClassLoader())) {
  131 + processor.process();
  132 +
  133 + if (remove) {
  134 + iter.remove();
  135 + }
130 } 136 }
131 137
132 } catch (Throwable cause) { 138 } catch (Throwable cause) {
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/processor/AnnotatedMethodProcessor.java
@@ -56,7 +56,7 @@ public class AnnotatedMethodProcessor<DC> extends AbstractProcessor<DC> { @@ -56,7 +56,7 @@ public class AnnotatedMethodProcessor<DC> extends AbstractProcessor<DC> {
56 super(annotatedMethod, beanManager); 56 super(annotatedMethod, beanManager);
57 } 57 }
58 58
59 - protected AnnotatedMethod<DC> getAnnotatedMethod() { 59 + public AnnotatedMethod<DC> getAnnotatedMethod() {
60 return (AnnotatedMethod<DC>) getAnnotatedCallable(); 60 return (AnnotatedMethod<DC>) getAnnotatedCallable();
61 } 61 }
62 62