diff options
| author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2015-02-17 17:25:57 +0000 |
|---|---|---|
| committer | <> | 2015-03-17 16:26:24 +0000 |
| commit | 780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch) | |
| tree | 598f8b9fa431b228d29897e798de4ac0c1d3d970 /docs/programmer_reference/java_faq.html | |
| parent | 7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff) | |
| download | berkeleydb-master.tar.gz | |
Diffstat (limited to 'docs/programmer_reference/java_faq.html')
| -rw-r--r-- | docs/programmer_reference/java_faq.html | 163 |
1 files changed, 100 insertions, 63 deletions
diff --git a/docs/programmer_reference/java_faq.html b/docs/programmer_reference/java_faq.html index 6b3f98f7..ea8e78a5 100644 --- a/docs/programmer_reference/java_faq.html +++ b/docs/programmer_reference/java_faq.html @@ -14,7 +14,7 @@ <body> <div xmlns="" class="navheader"> <div class="libver"> - <p>Library Version 11.2.5.3</p> + <p>Library Version 12.1.6.1</p> </div> <table width="100%" summary="Navigation header"> <tr> @@ -22,9 +22,7 @@ </tr> <tr> <td width="20%" align="left"><a accesskey="p" href="java_program.html">Prev</a> </td> - <th width="60%" align="center">Chapter 5. - Java API - </th> + <th width="60%" align="center">Chapter 5. Java API </th> <td width="20%" align="right"> <a accesskey="n" href="csharp.html">Next</a></td> </tr> </table> @@ -42,78 +40,110 @@ <ol type="1"> <li> <span class="bold"> - <strong>On what platforms is the Berkeley DB Java API supported?</strong> + <strong>On what platforms is the Berkeley DB + Java API supported?</strong> </span> - <p>All platforms supported by Berkeley DB that have a JVM compatible with J2SE -1.4 or above.</p> + <p>All platforms supported by Berkeley DB that have a + JVM compatible with J2SE 1.4 or above.</p> </li> <li> <span class="bold"> - <strong>How does the Berkeley DB Java API relate to the J2EE standard?</strong> + <strong>How does the Berkeley DB Java API + relate to the J2EE standard?</strong> </span> - <p>The Berkeley DB Java API does not currently implement any part of the J2EE -standard. That said, it does implement the implicit standard for Java -<a class="ulink" href="http://download.oracle.com/javase/1.5.0/docs/guide/collections/" target="_top">Java Collections</a>. The concept of a transaction exists in several -Java packages (J2EE, XA, JINI to name a few). Support for these APIs -will be added based on demand in future versions of Berkeley DB.</p> + <p> + The Berkeley DB Java API does not currently + implement any part of the J2EE standard. That said, it + does implement the implicit standard for Java <a class="ulink" href="http://download.oracle.com/javase/1.5.0/docs/guide/collections/" target="_top"> + Java Collections</a>. The concept of a + transaction exists in several Java packages (J2EE, XA, + JINI to name a few). Support for these APIs will be + added based on demand in future versions of Berkeley + DB. + </p> </li> <li> <span class="bold"> - <strong>How should I incorporate db.jar and the db native library into -a Tomcat or other J2EE application servers?</strong> + <strong>How should I incorporate db.jar and + the db native library into a Tomcat or other J2EE + application servers?</strong> </span> - <p>Tomcat and other J2EE application servers have the ability to rebuild -and reload code automatically. When using Tomcat this is the case when -"reloadable" is set to "true". If your WAR file includes the db.jar it -too will be reloaded each time your code is reloaded. This causes -exceptions as the native library can't be loaded more than once and -there is no way to unload native code. The solution is to place the -db.jar in $TOMCAT_HOME/common/lib and let Tomcat load that library once -at start time rather than putting it into the WAR that gets reloaded -over and over.</p> + <p> + Tomcat and other J2EE application servers have the + ability to rebuild and reload code automatically. When + using Tomcat this is the case when "reloadable" is set + to "true". If your WAR file includes the db.jar it too + will be reloaded each time your code is reloaded. This + causes exceptions as the native library can't be + loaded more than once and there is no way to unload + native code. The solution is to place the db.jar in + $TOMCAT_HOME/common/lib and let Tomcat load that + library once at start time rather than putting it into + the WAR that gets reloaded over and over. + </p> </li> <li> <span class="bold"> - <strong>Can I use the Berkeley DB Java API from within a EJB, a Servlet or a -JSP page?</strong> + <strong>Can I use the Berkeley DB Java API + from within a EJB, a Servlet or a JSP page?</strong> </span> - <p>Yes. The Berkeley DB Java API can be used from within all the popular J2EE -application servers in many different ways.</p> + <p> + Yes. The Berkeley DB Java API can be used from + within all the popular J2EE application servers in + many different ways. + </p> </li> <li> <span class="bold"> - <strong>During one of the first calls to the Berkeley DB Java API, a -DbException is thrown with a "Bad file number" or "Bad file descriptor" -message.</strong> + <strong>During one of the first calls to the + Berkeley DB Java API, a DbException is thrown with a + "Bad file number" or "Bad file descriptor" + message.</strong> </span> - <p>There are known large-file support bugs under JNI in various releases -of the JDK. Please upgrade to the latest release of the JDK, and, if -that does not solve the problem, disable big file support using the ---disable-largefile configuration option.</p> + <p> + There are known large-file support bugs under JNI in + various releases of the JDK. Please upgrade to the + latest release of the JDK, and, if that does not solve + the problem, disable big file support using the + --disable-largefile configuration option. + </p> </li> <li> <span class="bold"> - <strong>How can I use native methods from a debug build of the -Java library?</strong> + <strong>How can I use native methods from a + debug build of the Java library?</strong> </span> - <p>Set Java's library path so that the debug version of Berkeley DB's Java -library appears, but the release version does not. Berkeley DB tries to load -the release library first, and if that fails tries the debug library.</p> + <p> + Set Java's library path so that the debug version of + Berkeley DB's Java library appears, but the release + version does not. Berkeley DB tries to load the + release library first, and if that fails tries the + debug library. + </p> </li> <li> <span class="bold"> - <strong>Why is ClassNotFoundException thrown when adding a record to -the database, when a SerialBinding is used?</strong> + <strong>Why is ClassNotFoundException thrown + when adding a record to the database, when a + SerialBinding is used?</strong> </span> - <p>This problem occurs if you copy the db.jar file into the Java extensions -(ext) directory. This will cause the database code to run under the -System class loader, and it won't be able to find your application -classes.</p> - <p>You'll have to actually remove db.jar from the Java extension directory. -If you have more than one installation of Java, be sure to remove it -from all of them. This is necessary even if db.jar is specified in the -classpath.</p> - <p>An example of the exception is:</p> + <p> + This problem occurs if you copy the db.jar file into + the Java extensions (ext) directory. This will cause + the database code to run under the System class + loader, and it won't be able to find your application + classes. + </p> + <p> + You'll have to actually remove db.jar from the Java + extension directory. If you have more than one + installation of Java, be sure to remove it from all of + them. This is necessary even if db.jar is specified in + the classpath. + </p> + <p> + An example of the exception is: + </p> <pre class="programlisting">collections.ship.basic.SupplierKey at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) @@ -129,19 +159,26 @@ getClassInfo(StoredClassCatalog.java:211) </li> <li> <span class="bold"> - <strong>I'm upgrading my Java application to Berkeley DB 4.3. Can I use the -com.sleepycat.db.internal package rather than porting my code to the new -API?</strong> + <strong>I'm upgrading my Java application to + Berkeley DB 4.3. Can I use the + com.sleepycat.db.internal package rather than porting + my code to the new API?</strong> </span> - <p>While it is possible to use the low-level API from applications, there -are some caveats that should be considered when upgrading. The first is -that the internal API depends on some classes in the public API such as -DatabaseEntry.</p> - <p>In addition, the internal API is closer to the C API and doesn't have -some of the default settings that were part of the earlier Java API. -For example, applications will need to set the DB_THREAD flag explicitly -if handles are to be used from multiple threads, or subtle errors may -occur.</p> + <p> + While it is possible to use the low-level API from + applications, there are some caveats that should be + considered when upgrading. The first is that the + internal API depends on some classes in the public API + such as DatabaseEntry. + </p> + <p> + In addition, the internal API is closer to the C API + and doesn't have some of the default settings that + were part of the earlier Java API. For example, + applications will need to set the DB_THREAD flag + explicitly if handles are to be used from multiple + threads, or subtle errors may occur. + </p> </li> </ol> </div> |
