1 /*- 2 * See the file LICENSE for redistribution information. 3 * 4 * Copyright (c) 1997, 2010 Oracle and/or its affiliates. All rights reserved. 5 * 6 */ 7 8 package je; 9 10 import java.io.File; 11 import java.io.IOException; 12 13 import com.sleepycat.je.Database; 14 import com.sleepycat.je.DatabaseConfig; 15 import com.sleepycat.je.DatabaseEntry; 16 import com.sleepycat.je.DatabaseException; 17 import com.sleepycat.je.Environment; 18 import com.sleepycat.je.EnvironmentConfig; 19 import com.sleepycat.je.Sequence; 20 import com.sleepycat.je.SequenceConfig; 21 22 public class SequenceExample { 23 private static final int EXIT_SUCCESS = 0; 24 private static final int EXIT_FAILURE = 1; 25 private static final String DB_NAME = "sequence.db"; 26 private static final String KEY_NAME = "my_sequence"; 27 SequenceExample()28 public SequenceExample() { 29 } 30 usage()31 public static void usage() { 32 System.out.println("usage: java " + 33 "je.SequenceExample " + 34 "<dbEnvHomeDirectory>"); 35 System.exit(EXIT_FAILURE); 36 } 37 main(String[] argv)38 public static void main(String[] argv) { 39 40 if (argv.length != 1) { 41 usage(); 42 return; 43 } 44 File envHomeDirectory = new File(argv[0]); 45 46 try { 47 SequenceExample app = new SequenceExample(); 48 app.run(envHomeDirectory); 49 } catch (Exception e) { 50 e.printStackTrace(); 51 System.exit(EXIT_FAILURE); 52 } 53 System.exit(EXIT_SUCCESS); 54 } 55 run(File envHomeDirectory)56 public void run(File envHomeDirectory) 57 throws DatabaseException, IOException { 58 59 /* Create the environment object. */ 60 EnvironmentConfig envConfig = new EnvironmentConfig(); 61 envConfig.setAllowCreate(true); 62 Environment env = new Environment(envHomeDirectory, envConfig); 63 64 /* Create the database object. */ 65 DatabaseConfig dbConfig = new DatabaseConfig(); 66 dbConfig.setAllowCreate(true); 67 Database db = env.openDatabase(null, DB_NAME, dbConfig); 68 69 /* Create the sequence oject. */ 70 SequenceConfig config = new SequenceConfig(); 71 config.setAllowCreate(true); 72 DatabaseEntry key = 73 new DatabaseEntry(KEY_NAME.getBytes("UTF-8")); 74 Sequence seq = db.openSequence(null, key, config); 75 76 /* Allocate a few sequence numbers. */ 77 for (int i = 0; i < 10; i++) { 78 long seqnum = seq.get(null, 1); 79 System.out.println("Got sequence number: " + seqnum); 80 } 81 82 /* Close all. */ 83 seq.close(); 84 db.close(); 85 env.close(); 86 } 87 } 88