主容器 container包含所有項目依賴
框架加載任務 有兩種方式 1.使用繼承接口ContainerRunner,或者ContainerLoopRunner兩個的區別是ContainerLoopRunner是循環執行的。ContainerRunner則可以指定等級 可以通過Grade註解(等級默認爲最低等級Integer.MAX_VALUE)
2.使用RunnerPlugin模塊的註解,優勢是可以在一個類中執行多種任務對應的註解爲RunnerLoop,RunnerOnce其中RunnerOnce同樣可以指定等級
下邊是示例:
package com.fuchenglei.te;
import com.fuchenglei.core.runner.Grade;
import com.fuchenglei.core.runner.RunnerLoop;
import com.fuchenglei.core.runner.RunnerOnce;
import com.fuchenglei.core.runner.RunnerPlugin;
@RunnerPlugin
public class A
{
@Grade(1)
@RunnerOnce
public void say()
{
System.out.println("1");
}
@Grade(2)
@RunnerOnce
public void say2()
{
System.out.println("2");
}
@Grade(4)
@RunnerOnce
public void say4()
{
System.out.println("4");
}
@Grade(3)
@RunnerOnce
public void say3()
{
System.out.println("3");
}
@RunnerLoop(lazy = 1 * 1000 , time = 10 * 1000)
public void say5()
{
System.out.println("5");
}
@RunnerLoop(lazy = 1 * 1000 , time = 10 * 1000)
public void say6()
{
System.out.println("6");
}
}
package com.fuchenglei.te;
import com.fuchenglei.core.runner.Grade;
import com.fuchenglei.core.runner.RunnerLoop;
import com.fuchenglei.core.runner.RunnerOnce;
import com.fuchenglei.core.runner.RunnerPlugin;
@RunnerPlugin
public class B
{
@Grade(6)
@RunnerOnce
public void say()
{
System.out.println("6");
}
@Grade(2)
@RunnerOnce
public void say2()
{
System.out.println("2");
}
@Grade(7)
@RunnerOnce
public void say7()
{
System.out.println("7");
}
@Grade(3)
@RunnerOnce
public void say3()
{
System.out.println("3");
}
@RunnerLoop(lazy = 1 * 1000 , time = 10 * 1000)
public void say8()
{
System.out.println("8");
}
@RunnerLoop(lazy = 1 * 1000 , time = 10 * 1000)
public void say9()
{
System.out.println("9");
}
}
package com.fuchenglei.te;
import com.fuchenglei.core.runner.Grade;
import com.fuchenglei.function.ContainerRunner;
import com.fuchenglei.core.annotation.Task;
@Task
public class C implements ContainerRunner
{
@Override
@Grade(2)
public void run()
{
System.out.println(10);
}
}
package com.fuchenglei.te;
import com.fuchenglei.core.runner.RunnerLoop;
import com.fuchenglei.function.ContainerLoopRunner;
import com.fuchenglei.core.annotation.Task;
@Task
public class D implements ContainerLoopRunner
{
@Override
@RunnerLoop(lazy = 1 * 1000 , time = 10 * 1000)
public void run()
{
System.out.println("11");
}
}