use of com.bluenimble.platform.api.tracing.Tracer in project serverless by bluenimble.
the class DefaultPluginsRegistry method create.
private Plugin create(String pluginName, File pluginFile, File pluginHome, long timestamp, JsonObject descriptor) throws Exception {
PluginClassLoader pcl = new PluginClassLoader(pluginName, InstallUtils.toUrls(pluginHome, Json.getArray(descriptor, ConfigKeys.Classpath)));
Plugin plugin = (Plugin) BeanUtils.create(pcl, Json.getObject(descriptor, ConfigKeys.Spi), this);
if (plugin == null) {
plugin = new MockPlugin();
}
if (!(plugin instanceof MockPlugin)) {
pcl.setPlugin(plugin);
}
plugin.setName(pluginName);
plugin.setHome(pluginHome);
plugin.setTitle(Json.getString(descriptor, ConfigKeys.Title));
plugin.setDescription(Json.getString(descriptor, ConfigKeys.Description));
System.setProperty(PluginsHomePrefix + plugin.getName() + PluginsHomePostfix, pluginHome.getAbsolutePath());
classLoaders.put(pluginName, pcl);
// init tracer
Tracer plTracer = null;
JsonObject oTracer = Json.getObject(descriptor, ConfigKeys.Tracer);
if (!Json.isNullOrEmpty(oTracer)) {
plTracer = (Tracer) BeanUtils.create(pcl, oTracer, this);
}
if (plTracer == null) {
plTracer = server.tracer();
} else {
plTracer.onInstall(plugin);
}
plugin.setTracer(plTracer);
return plugin;
}
use of com.bluenimble.platform.api.tracing.Tracer in project serverless by bluenimble.
the class DefaultApiServicesManager method onStop.
@Override
public void onStop(final ApiContext context) {
final Tracer tracer = api.tracer();
// stop all services
list(new Selector() {
@Override
public boolean select(ApiService service) {
try {
stopService(service, context, false);
} catch (Exception ex) {
tracer.log(Tracer.Level.Error, "ApiSpi.onStop casued an error", ex);
}
return false;
}
});
}
Aggregations