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 | 55 | import br.gov.frameworkdemoiselle.DemoiselleException; |
| 56 | 56 | import br.gov.frameworkdemoiselle.annotation.Startup; |
| 57 | 57 | import br.gov.frameworkdemoiselle.annotation.ViewScoped; |
| 58 | +import br.gov.frameworkdemoiselle.internal.configuration.ConfigurationLoader; | |
| 58 | 59 | import br.gov.frameworkdemoiselle.internal.context.ThreadLocalContext; |
| 59 | 60 | import br.gov.frameworkdemoiselle.internal.processor.StartupProcessor; |
| 60 | 61 | |
| ... | ... | @@ -123,10 +124,15 @@ public class StartupBootstrap extends AbstractBootstrap { |
| 123 | 124 | StartupProcessor processor = iter.next(); |
| 124 | 125 | |
| 125 | 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 | 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 | 56 | super(annotatedMethod, beanManager); |
| 57 | 57 | } |
| 58 | 58 | |
| 59 | - protected AnnotatedMethod<DC> getAnnotatedMethod() { | |
| 59 | + public AnnotatedMethod<DC> getAnnotatedMethod() { | |
| 60 | 60 | return (AnnotatedMethod<DC>) getAnnotatedCallable(); |
| 61 | 61 | } |
| 62 | 62 | ... | ... |