@Override public void start() { super.start(); boolean filebasedbackend = backendFactory instanceof RrdFileBackendFactory; if(usepool || filebasedbackend) { try { String backendName = backendFactory.getName(); RrdBackendFactory.setDefaultFactory(backendName); logger.trace(Util.delayedFormatString("Store backend set to %s", backendName)); } catch (IllegalStateException e) { logger.warn("Trying to change default backend, a restart is needed"); } catch (Exception e) { throw new RuntimeException("Failed to configure RrdDbStoreFactory:" + e.getMessage(), e); } try { instance = RrdDbPool.getInstance(); instance.setCapacity(dbPoolSize); usepool = true; } catch (Exception e) { logger.warn("Trying to change rrd pool size, a restart is needed"); } } }
public static final void prepare(String backend, int dbPoolSize) { usepool = false; if(backend != null) { try { RrdBackendFactory.setDefaultFactory(backend); logger.trace(Util.delayedFormatString("Store backend set to %s", backend)); } catch (IllegalArgumentException e) { logger.fatal("Backend not configured: " + e.getMessage()); } catch (IllegalStateException e) { logger.warn("Trying to change default backend, a restart is needed"); } } StoreOpener.backend = RrdBackendFactory.getDefaultFactory(); if(StoreOpener.backend instanceof RrdFileBackendFactory && dbPoolSize != 0) { try { instance = RrdDbPool.getInstance(); instance.setCapacity(dbPoolSize); usepool = true; } catch (Exception e) { } } logger.debug(Util.delayedFormatString("Store backend used is %s", StoreOpener.backend.getName())); logger.debug(Util.delayedFormatString("use pool: %b %d", usepool, dbPoolSize)); }