/** * Prefills the id generators. * * @param datasource the datasource to use * @since $version * @author hceylan */ public void preFillGenerators(DataSource datasource) { final int nThreads = Runtime.getRuntime().availableProcessors(); this.idGeneratorExecuter = new ThreadPoolExecutor( 1, nThreads, // 30, TimeUnit.SECONDS, // new LinkedBlockingQueue<Runnable>(), // new GeneratorThreadFactory()); for (final SequenceGenerator generator : this.sequenceGenerators.values()) { this.sequenceQueues.put( generator.getName(), new SequenceQueue( this.jdbcAdaptor, datasource, this.idGeneratorExecuter, generator.getSequenceName(), generator.getAllocationSize())); } for (final TableGenerator generator : this.tableGenerators.values()) { this.tableIdQueues.put( generator.getName(), new TableIdQueue(this.jdbcAdaptor, datasource, this.idGeneratorExecuter, generator)); } }