@Override public int getNbThreads() { return externalPersistentBusConfig.getNbThreads(); }
@Override public TimeSpan getClaimedTime() { return externalPersistentBusConfig.getClaimedTime(); }
@Override public int getMaxEntriesClaimed() { return externalPersistentBusConfig.getMaxEntriesClaimed(); }
@Inject public DefaultPersistentBus(final IDBI dbi, final Clock clock, final PersistentBusConfig config, final MetricRegistry metricRegistry) { super("Bus", Executors.newFixedThreadPool(config.getNbThreads(), new ThreadFactory() { @Override public Thread newThread(final Runnable r) { return new Thread(new ThreadGroup(EVENT_BUS_GROUP_NAME), r, EVENT_BUS_TH_NAME); } }), config.getNbThreads(), config); final PersistentBusSqlDao sqlDao = dbi.onDemand(PersistentBusSqlDao.class); this.clock = clock; this.dao = new DBBackedQueue<BusEventModelDao>(clock, sqlDao, config, "bus-" + config.getTableName(), metricRegistry); this.eventBusDelegate = new EventBusDelegate("Killbill EventBus"); this.isStarted = new AtomicBoolean(false); }
@Override public String getTableName() { if (internalPersistentBusConfig.getTableName().equals(externalPersistentBusConfig.getTableName())) { if (TABLE_NAME_DEFAULT_VALUE.equals(externalPersistentBusConfig.getTableName())) { logger.debug("Overriding default value for the external bus table name"); return TABLE_NAME_ALTERNATE_DEFAULT_VALUE; } else { // Overridden by the user? throw new IllegalArgumentException("The external and internal buses cannot share the same table name " + externalPersistentBusConfig.getTableName()); } } else { return externalPersistentBusConfig.getTableName(); } }
@Override public int getMaxFailureRetries() { return externalPersistentBusConfig.getMaxFailureRetries(); }
@Override public int getQueueCapacity() { return externalPersistentBusConfig.getQueueCapacity(); }
@Override public long getSleepTimeMs() { return externalPersistentBusConfig.getSleepTimeMs(); }
@Override public boolean isProcessingOff() { return externalPersistentBusConfig.isProcessingOff(); }
@Override public int getPrefetchEntries() { return externalPersistentBusConfig.getPrefetchEntries(); }
@Override public String getHistoryTableName() { if (internalPersistentBusConfig.getHistoryTableName().equals(externalPersistentBusConfig.getHistoryTableName())) { if (HISTORY_TABLE_NAME_DEFAULT_VALUE.equals(externalPersistentBusConfig.getHistoryTableName())) { logger.debug("Overriding default value for the external bus history table name"); return HISTORY_TABLE_NAME_ALTERNATE_DEFAULT_VALUE; } else { // Overridden by the user? throw new IllegalArgumentException("The external and internal buses cannot share the same history table name " + externalPersistentBusConfig.getHistoryTableName()); } } else { return externalPersistentBusConfig.getHistoryTableName(); } } }