Browse Source

CORE-49 新模块化中在监听中去启动子模块的写法有问题

1、删除在xml中支持自定义配置的代码
2、优化EventDispatcher
3、定义Prepare接口来让模块进行数据交换
接下来:
1、按照extension包的package-info中描述的:在解析好模块树后,解析模块启动顺序(也就是模块的上下层依赖关系,成为左右关系),让模块与模块之间不光有上下层的引用,也包含左右的关系
2、利用左右关系,在ModuleStableRepoAccessor中添加方法,加强模块间数据交换时的语义(现在看数据交换的代码时会感觉不清晰,不知道谁和谁交换)
master
ju 7 years ago
parent
commit
0f883e9d29
  1. 2
      designer/src/com/fr/start/module/DesignerEnvProvider.java
  2. 2
      designer/src/com/fr/start/module/DesignerModuleActivator.java
  3. 4
      designer/src/com/fr/start/module/DesignerStartup.java

2
designer/src/com/fr/start/module/DesignerEnvProvider.java

@ -15,7 +15,7 @@ public class DesignerEnvProvider extends Activator {
@Override
public void start() {
String[] args = getModule().findSingleton(StartupArgs.class).get();
String[] args = getModule().upFindSingleton(StartupArgs.class).get();
if (args != null) {
for (String arg : args) {
if (ComparatorUtils.equals(arg, "demo")) {

2
designer/src/com/fr/start/module/DesignerModuleActivator.java

@ -15,7 +15,7 @@ public class DesignerModuleActivator extends Activator {
@Override
public void start() {
ModuleContext.registerModuleListener(getModule().findSingleton(ModuleListener.class));
ModuleContext.registerModuleListener(getModule().upFindSingleton(ModuleListener.class));
ModuleContext.startModule(DesignerModule.class.getName());
ModuleContext.clearModuleListener();
}

4
designer/src/com/fr/start/module/DesignerStartup.java

@ -36,7 +36,7 @@ public class DesignerStartup extends Activator {
startSub(BasicActivator.class);
//启动画面
SplashWindow splashWindow = createSplashWindow();
String[] args = getModule().findSingleton(StartupArgs.class).get();
String[] args = getModule().upFindSingleton(StartupArgs.class).get();
Designer designer = new Designer(args);
//启动env
startSub(DesignerEnvProvider.class);
@ -69,7 +69,7 @@ public class DesignerStartup extends Activator {
}
// 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了
if (DesignUtils.isStarted()) {
DesignUtils.clientSend(getModule().findSingleton(StartupArgs.class).get());
DesignUtils.clientSend(getModule().upFindSingleton(StartupArgs.class).get());
return true;
}
return false;

Loading…
Cancel
Save