/** * 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)); } }
private void readGenValue(GeneratedValue gen, DeployBeanProperty prop) { String genName = gen.generator(); SequenceGenerator sequenceGenerator = find(prop, SequenceGenerator.class); if (sequenceGenerator != null) { if (sequenceGenerator.name().equals(genName)) { genName = sequenceGenerator.sequenceName(); } } GenerationType strategy = gen.strategy(); if (strategy == GenerationType.IDENTITY) { descriptor.setIdType(IdType.IDENTITY); } else if (strategy == GenerationType.SEQUENCE) { descriptor.setIdType(IdType.SEQUENCE); if (genName != null && genName.length() > 0) { descriptor.setIdGeneratorName(genName); } } else if (strategy == GenerationType.AUTO) { if (prop.getPropertyType().equals(UUID.class)) { descriptor.setIdGeneratorName(UuidIdGenerator.AUTO_UUID); descriptor.setIdType(IdType.GENERATOR); } else { // use DatabasePlatform defaults } } }
protected TestsResult simulate( int numberOfEvents, SequenceGenerator<Integer> userDelayGenerator, SequenceGenerator<Integer> processTimeGenerator, SequenceGenerator<String> requestIdGenerator) throws Exception { NumberFormat numberFormat = NumberFormat.getInstance(); numberFormat.setGroupingUsed(false); numberFormat.setMinimumIntegerDigits(String.valueOf(numberOfEvents).length()); renderView("/queue-size.xhtml"); ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("defaultSizeQueue"); int time = 0; for (int i = 0; i < numberOfEvents; i++) { int userDelay = userDelayGenerator.next(); int requestTime = processTimeGenerator.next(); time += userDelay; ajax( time, numberFormat.format(i), parametersBuilder .similarityGroupingId(requestIdGenerator.next()) .requestTime(requestTime)); } TestsResult result = getTestsResult(); return result; }
/** * Performs the sequence generators DDL operations. * * @param datasource the datasource * @param ddlMode the DDL Mode * @since $version * @author hceylan */ public void performSequencesDdl(DataSource datasource, DDLMode ddlMode) { for (final SequenceGenerator sequenceGenerator : this.sequenceGenerators.values()) { MetamodelImpl.LOG.info( "Performing DDL operations for sequence generators for {0}, mode {1}", sequenceGenerator.getName(), ddlMode); this.jdbcAdaptor.createSequenceIfNecessary(datasource, sequenceGenerator); } }
@Test public void shouldSaveNewDiscipline() { given(sequenceGenerator.next()).willReturn("123"); SimpleDiscipline discipline = new SimpleDiscipline().setProgram("Aerosciences").setDescription("Flight geeks"); Discipline savedDiscipline = disciplineRepository.save(discipline); assertEquals("123", savedDiscipline.getId()); assertEquals("Aerosciences", savedDiscipline.getProgram()); assertEquals("Flight geeks", savedDiscipline.getDescription()); Discipline foundDiscipline = disciplineRepository.findOne(savedDiscipline.getId()); assertEquals("123", foundDiscipline.getId()); assertEquals("Aerosciences", foundDiscipline.getProgram()); assertEquals("Flight geeks", foundDiscipline.getDescription()); }
/** * Adds the sequence generator to the metamodel * * @param metadata the generator metadata * @since $version * @author hceylan */ public synchronized void addSequenceGenerator(SequenceGeneratorMetadata metadata) { final SequenceGenerator sequenceGenerator = new SequenceGenerator(metadata); this.sequenceGenerators.put(sequenceGenerator.getName(), sequenceGenerator); }
@Override public void configure(Type type, Properties params, Dialect dialect) throws MappingException { super.configure(type, params, dialect); }