# Shutting down or creating a database

If you need to shut down or create a database, it is easiest just to work with the Derby-specific implementations of interfaces, as shown in these examples.

    javax.sql.XADataSource xads = makeXADataSource(mydb, true);

    // example of setting property directory using
    // Derby 's XADataSource object
    import org.apache.derby.jdbc.EmbeddedXADataSource;
    import javax.sql.XADataSource;
    // dbname is the database name
    // if create is true, create the database if not already created
    XADataSource makeXADataSource (String dbname, boolean create)
    {
        //
        // If your application runs on JDK 1.6 or higher, then
        // you will use the JDBC4 variant of this class:
        // EmbeddedXADataSource40.
        //
        EmbeddedXADataSource xads = new EmbeddedXADataSource();
        // use Derby 's setDatabaseName call
        xads.setDatabaseName(dbname);
        if (create)
            xads.setCreateDatabase("create");
        return xads;
    }

Setting the property does not create or shut down the database. The database is not actually created or shut down until the next connection request.

Parent topic: Using Derby as a J2EE resource manager
Related concepts
Getting a DataSource
Related reference
Classes that pertain to resource managers