diff options
| author | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-07-20 20:00:05 +0100 |
|---|---|---|
| committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-07-20 20:00:05 +0100 |
| commit | 3ef782d3745ea8f25a3151561a3cfb882190210e (patch) | |
| tree | 86b9c2f5fde051dd0bced99b3fc9f5a3ba08db69 /docs/programmer_reference/java_faq.html | |
| download | berkeleydb-3ef782d3745ea8f25a3151561a3cfb882190210e.tar.gz | |
Tarball conversion
Diffstat (limited to 'docs/programmer_reference/java_faq.html')
| -rw-r--r-- | docs/programmer_reference/java_faq.html | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/docs/programmer_reference/java_faq.html b/docs/programmer_reference/java_faq.html new file mode 100644 index 00000000..6b3f98f7 --- /dev/null +++ b/docs/programmer_reference/java_faq.html @@ -0,0 +1,169 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Java FAQ</title> + <link rel="stylesheet" href="gettingStarted.css" type="text/css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> + <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" /> + <link rel="up" href="java.html" title="Chapter 5. Java API" /> + <link rel="prev" href="java_program.html" title="Java programming notes" /> + <link rel="next" href="csharp.html" title="Chapter 6. C# API" /> + </head> + <body> + <div xmlns="" class="navheader"> + <div class="libver"> + <p>Library Version 11.2.5.3</p> + </div> + <table width="100%" summary="Navigation header"> + <tr> + <th colspan="3" align="center">Java FAQ</th> + </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> + <td width="20%" align="right"> <a accesskey="n" href="csharp.html">Next</a></td> + </tr> + </table> + <hr /> + </div> + <div class="sect1" lang="en" xml:lang="en"> + <div class="titlepage"> + <div> + <div> + <h2 class="title" style="clear: both"><a id="java_faq"></a>Java FAQ</h2> + </div> + </div> + </div> + <div class="orderedlist"> + <ol type="1"> + <li> + <span class="bold"> + <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> + </li> + <li> + <span class="bold"> + <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> + </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> + </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> + </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> + </span> + <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> + </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> + </li> + <li> + <span class="bold"> + <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> + </li> + <li> + <span class="bold"> + <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> + <pre class="programlisting">collections.ship.basic.SupplierKey +at java.net.URLClassLoader$1.run(Unknown Source) +at java.security.AccessController.doPrivileged(Native Method) +at java.net.URLClassLoader.findClass(Unknown Source) +at java.lang.ClassLoader.loadClass(Unknown Source) +at java.lang.ClassLoader.loadClass(Unknown Source) +at java.lang.ClassLoader.loadClassInternal(Unknown Source) +at java.lang.Class.forName0(Native Method) +at java.lang.Class.forName(Unknown Source) +at com.sleepycat.bind.serial.StoredClassCatalog. +getClassInfo(StoredClassCatalog.java:211) +...</pre> + </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> + </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> + </li> + </ol> + </div> + </div> + <div class="navfooter"> + <hr /> + <table width="100%" summary="Navigation footer"> + <tr> + <td width="40%" align="left"><a accesskey="p" href="java_program.html">Prev</a> </td> + <td width="20%" align="center"> + <a accesskey="u" href="java.html">Up</a> + </td> + <td width="40%" align="right"> <a accesskey="n" href="csharp.html">Next</a></td> + </tr> + <tr> + <td width="40%" align="left" valign="top">Java programming notes </td> + <td width="20%" align="center"> + <a accesskey="h" href="index.html">Home</a> + </td> + <td width="40%" align="right" valign="top"> Chapter 6. C# API</td> + </tr> + </table> + </div> + </body> +</html> |
