Commit 94f5b7411ea176a63bc9be7ab26505409573e5df

Authored by Cleverson Sacramento
1 parent 1c9a46eb
Exists in master

Implementação experimental para funcionamento do bootstrap em EAR

impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/ShutdownBootstrap.java
... ... @@ -110,6 +110,8 @@ public class ShutdownBootstrap extends AbstractBootstrap {
110 110 shutdown(true);
111 111 }
112 112  
  113 + private static boolean x = true;
  114 +
113 115 /**
114 116 * Before Shutdown it execute the methods annotateds with @Shutdown considering the priority order;
115 117 */
... ... @@ -121,8 +123,12 @@ public class ShutdownBootstrap extends AbstractBootstrap {
121 123 Collections.sort(processors);
122 124 Throwable failure = null;
123 125  
124   - for (CustomContext tempContext : tempContexts) {
125   - addContext(tempContext, abdEvent);
  126 + if (x) {
  127 + for (CustomContext tempContext : tempContexts) {
  128 + addContext(tempContext, abdEvent);
  129 + }
  130 +
  131 + x = false;
126 132 }
127 133  
128 134 for (Iterator<ShutdownProcessor> iter = processors.iterator(); iter.hasNext();) {
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/StartupBootstrap.java
... ... @@ -73,6 +73,8 @@ public class StartupBootstrap extends AbstractBootstrap {
73 73 private static final List<StartupProcessor> processors = Collections
74 74 .synchronizedList(new ArrayList<StartupProcessor>());
75 75  
  76 + private static AfterBeanDiscovery abdEvent;
  77 +
76 78 /**
77 79 * Observes all methods annotated with @Startup and create an instance of StartupAction for them
78 80 *
... ... @@ -97,10 +99,7 @@ public class StartupBootstrap extends AbstractBootstrap {
97 99 tempContexts.add(new ThreadLocalContext(SessionScoped.class));
98 100 tempContexts.add(new ThreadLocalContext(ConversationScoped.class));
99 101 tempContexts.add(new ThreadLocalContext(RequestScoped.class));
100   -
101   - for (CustomContext tempContext : tempContexts) {
102   - addContext(tempContext, event);
103   - }
  102 + abdEvent = event;
104 103 }
105 104  
106 105 /**
... ... @@ -110,6 +109,8 @@ public class StartupBootstrap extends AbstractBootstrap {
110 109 startup(true);
111 110 }
112 111  
  112 + private static boolean x = true;
  113 +
113 114 /**
114 115 * After the deployment validation it execute the methods annotateds with @Startup considering the priority order;
115 116 */
... ... @@ -121,6 +122,14 @@ public class StartupBootstrap extends AbstractBootstrap {
121 122 Collections.sort(processors);
122 123 Throwable failure = null;
123 124  
  125 + if (x) {
  126 + for (CustomContext tempContext : tempContexts) {
  127 + addContext(tempContext, abdEvent);
  128 + }
  129 +
  130 + x = false;
  131 + }
  132 +
124 133 for (Iterator<StartupProcessor> iter = processors.iterator(); iter.hasNext();) {
125 134 StartupProcessor processor = iter.next();
126 135  
... ...