Skip to content

distributed-and-microservice/Ezreal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ezreal java 插件式类隔离容器

简介

java 插件框架,正在写

已实现功能

  • 通过不同的 classloader 加载 plugin

运行

运行 cn.fanhub.ezreal.core.container.ContainerManagerTest 中的测试方法即可。

  • ezreal-testb-1.0-SNAPSHOT.jar 的主要内容:
package cn.fanhub.ezreal.testtest;

import cn.fanhub.ezreal.core.plugin.EzPlugin;

/**
 *
 * @author chengfan
 * @version $Id: TestB.java, v 0.1 2018年03月15日 下午9:05 chengfan Exp $
 */
public class TestB implements EzPlugin {
    @Override
    public void init() {
        System.out.println(org.apache.commons.lang3.StringUtils.upperCase("init b"));
    }

    @Override
    public void execute() {
        System.out.println("execute b");
    }

    @Override
    public void destory() {
        System.out.println("destory b");
    }
}

ezreal.properties

name=pluga
version=0.1
main=cn.fanhub.ezreal.test.TestAPlugin
  • test-a-1.0-SNAPSHOT.jar 的主要内容:
package cn.fanhub.ezreal.test;

import cn.fanhub.ezreal.core.plugin.EzPlugin;

/**
 *
 * @author chengfan
 * @version $Id: TestAPlugin.java, v 0.1 2018年03月15日 下午8:49 chengfan Exp $
 */
public class TestAPlugin implements EzPlugin {
    @Override
    public void init() {
        System.out.println("init a");
    }

    @Override
    public void execute() {
        System.out.println("execute a");
    }

    @Override
    public void destory() {
        System.out.println("des");
    }
}

ezreal.properties

name=pluga
version=0.1
main=cn.fanhub.ezreal.test.TestAPlugin

输出:

init a
INIT B
plugb
cn.fanhub.ezreal.testtest.TestB@20398b7c
pluga
cn.fanhub.ezreal.test.TestAPlugin@6fc6f14e

Releases

No releases published

Packages

No packages published

Languages