| 180 | |
| 181 | // this should be called during application initializing |
| 182 | public static void initialize(ClientConfig config) { |
| 183 | try { |
| 184 | if (!s_initialized.get()) { |
| 185 | synchronized (s_instance) { |
| 186 | if (!s_initialized.get()) { |
| 187 | PlexusContainer container = ContainerLoader.getDefaultContainer(); |
| 188 | ClientConfigManager manager = container.lookup(ClientConfigManager.class); |
| 189 | |
| 190 | manager.initialize(config); |
| 191 | |
| 192 | ModuleContext ctx = new DefaultModuleContext(container); |
| 193 | Module module = ctx.lookup(Module.class, CatClientModule.ID); |
| 194 | |
| 195 | if (!module.isInitialized()) { |
| 196 | ModuleInitializer initializer = ctx.lookup(ModuleInitializer.class); |
| 197 | |
| 198 | initializer.execute(ctx, module); |
| 199 | } |
| 200 | |
| 201 | log("INFO", "Cat is lazy initialized!"); |
| 202 | s_initialized.set(true); |
| 203 | } |
| 204 | } |
| 205 | } |
| 206 | } catch (Exception e) { |
| 207 | errorHandler(e); |
| 208 | } |
| 209 | } |
| 210 | |
| 211 | public static void initialize(File configFile) { |
| 212 | try { |