Commit c90630ec75a6b9133dcd1d6bf26425924d818bb7
1 parent
78303152
Exists in
master
Verificação do ClassLoader ao executar o Startup
Showing
2 changed files
with
10 additions
and
4 deletions
Show diff stats
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 |