
Если плагин хочет отслеживать жизненный цикл, он может реализовать интерфейс PluginActivator:
public interface PluginActivator {
// 让插件本身判断是否要启动
boolean enabled(PluginContext context);
public void init(PluginContext context) throws Exception;
/**
* Before calling this method, the {@link PluginState} is
* {@link PluginState#STARTING}, after calling, the {@link PluginState} is
* {@link PluginState#ACTIVE}
*
* @param context
*/
public void start(PluginContext context) throws Exception;
/**
* Before calling this method, the {@link PluginState} is
* {@link PluginState#STOPPING}, after calling, the {@link PluginState} is
* {@link PluginState#RESOLVED}
*
* @param context
*/
public void stop(PluginContext context) throws Exception;
}
В каталог плагина поместите plugin.properties и сам jar-файл агента.
Например:
type=traditional
name=demo-agent
version=1.0.0
agentJarPath=demo-agent.jar
Тогда one java agent запустит этот demo-agent.
mvn clean install для bytekitmvn clean package -DskipTests && mvn testmvn clean package -P local -DskipTests соберёт и установит последнюю версию в локальный каталог ~/oneoneagent