summaryrefslogtreecommitdiff
path: root/docs/programmer_reference/java_faq.html
diff options
context:
space:
mode:
authorLorry <lorry@roadtrain.codethink.co.uk>2012-07-20 20:00:05 +0100
committerLorry <lorry@roadtrain.codethink.co.uk>2012-07-20 20:00:05 +0100
commit3ef782d3745ea8f25a3151561a3cfb882190210e (patch)
tree86b9c2f5fde051dd0bced99b3fc9f5a3ba08db69 /docs/programmer_reference/java_faq.html
downloadberkeleydb-3ef782d3745ea8f25a3151561a3cfb882190210e.tar.gz
Tarball conversion
Diffstat (limited to 'docs/programmer_reference/java_faq.html')
-rw-r--r--docs/programmer_reference/java_faq.html169
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>