SimpleNamingContextBuilder

Simple implementation of a JNDI naming context builder.

Mainly targeted at test environments, where each test case can configure JNDI appropriately, so that new InitialContext() will expose the required objects. Also usable for standalone applications, e.g. for binding a JDBC DataSource to a well-known JNDI location, to be able to use traditional J2EE data access code outside of a J2EE container.

There are various choices for DataSource implementations:

  • SingleConnectionDataSource (using the same Connection for all getConnection calls);
  • DriverManagerDataSource (creating a new Connection on each getConnection call);
  • Apache's Jakarta Commons DBCP offers BasicDataSource (a real pool).

Typical usage in bootstrap code:

 SimpleNamingContextBuilder builder = new SimpleNamingContextBuilder();
 DataSource ds = new DriverManagerDataSource(...);
 builder.bind("java:comp/env/jdbc/myds", ds);
 builder.activate();
Note that it's impossible to activate multiple builders within the same JVM, due to JNDI restrictions. Thus to configure a fresh builder repeatedly, use the following code to get a reference to either an already activated builder or a newly activated one:
 SimpleNamingContextBuilder builder = SimpleNamingContextBuilder.emptyActivatedContextBuilder();
 DataSource ds = new DriverManagerDataSource(...);
 builder.bind("java:comp/env/jdbc/myds", ds);
Note that you should not call activate() on a builder from this factory method, as there will already be an activated one in any case.

An instance of this class is only necessary at setup time. An application does not need to keep a reference to it after activation.

你可能感兴趣的:(apache,jvm,jdbc,Access)