我的框架使用方式

主容器 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");
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章