Search in sources :

Example 1 with Tracer

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;
}
Also used : Tracer(com.bluenimble.platform.api.tracing.Tracer) JsonObject(com.bluenimble.platform.json.JsonObject) Plugin(com.bluenimble.platform.plugins.Plugin)

Example 2 with Tracer

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;
        }
    });
}
Also used : ApiService(com.bluenimble.platform.api.ApiService) Tracer(com.bluenimble.platform.api.tracing.Tracer) ApiManagementException(com.bluenimble.platform.api.ApiManagementException) ApiServicesManagerException(com.bluenimble.platform.api.ApiServicesManagerException) ApiResourcesManagerException(com.bluenimble.platform.api.ApiResourcesManagerException)

Aggregations

Tracer (com.bluenimble.platform.api.tracing.Tracer)2 ApiManagementException (com.bluenimble.platform.api.ApiManagementException)1 ApiResourcesManagerException (com.bluenimble.platform.api.ApiResourcesManagerException)1 ApiService (com.bluenimble.platform.api.ApiService)1 ApiServicesManagerException (com.bluenimble.platform.api.ApiServicesManagerException)1 JsonObject (com.bluenimble.platform.json.JsonObject)1 Plugin (com.bluenimble.platform.plugins.Plugin)1