// Create temporary store
File tempDatabase = Files.createTemporayFileOf( dbFile );
final RecordManager recordManager = RecordManagerFactory.createRecordManager( tempDatabase.getAbsolutePath(), new Properties() );
ByteArrayComparator comparator = new ByteArrayComparator();
final BTree index = BTree.createInstance( recordManager, comparator, serializer, DefaultSerializer.INSTANCE, 16 );
recordManager.setNamedObject( "index", index.getRecid() );
recordManager.commit();
try
{
sender.sendTo( new Receiver<String, IOException>()
{
int counter = 0;
@Override
public void receive( String item )
throws IOException
{
// Commit one batch
if( ( counter++ % 1000 ) == 0 )
{
recordManager.commit();
}
String id = item.substring( "{\"identity\":\"".length() );
id = id.substring( 0, id.indexOf( '"' ) );
// Insert
byte[] stateArray = item.getBytes( "UTF-8" );
long stateIndex = recordManager.insert( stateArray, serializer );
index.insert( id.getBytes( "UTF-8" ), stateIndex, false );
}
} );
}
catch( IOException e )
{