Determining the API of the target application

Section not yet written.


The Jacob DLL

Jacob.jar relies on a DLL file that it loads off of the library path or classpath. The code is written so that the jacob.dll is only loaded one time per classloader. This works fine in the standard application but can cause problems if jacob.jar is loaded from more than one class loader. This can happen in the situation where multiple jacob dependent web applications run in the same container like a web server or JWS runtime.

In the case of a web server, Jacob is normally put in the application specific WEB-INF/lib directory. This is the "right" way to do it and works in most situations. But, if Jacob is put in the WEB-INF/lib directory of each application's war file for more than one application then a problem occurs. In this situation, the web server uses a different classloader for each applicaiton. This means that each application will attempt to load the jacob.dll and errors are generated. The only way around this at this time (1.11) is to put the jacob.jar in the common/lib because that classloader is inherited by all of the applicaitons so the DLLs will only get loaded once. This problem is described in SF 1645463 and should be fixed in some future release, fix method and time not yet determined.


Jacob Command Line Settings

This library supports several different :

java.library.path

Used to add the location of the jacob dll to the JVM's library path.

Example: -Djava.library.path=d:/jacob/release/x86

com.jacob.autogc

Determines if automatic garbage collection is enabled. This is the only way to free up objects created in event callbacks. This feature is not fully debugged.

The default value is false

Example: -Dcom.jacob.autogc=false

com.jacob.debug

Determines if debug output is enabled to standard out. The default value is false

Example: -Dcom.jacob.debug=false

-XCheck:jni

This turns on additional JVM checking for JNI issues. This is not strictly a JACOB system property.

The default is "no additional checking" Example: -XCheck:jni


Finding the DLL version using windows command line

The jacob.dll file includes the jacob release number in the version field. Run the following from the command prompt dumpbin /version jacob.dll . The dll version number is stored in the "image version" field of the "OPTIONAL HEADER VALUES" section. This information from The Microsoft msdn web site

Last Modified 2/2007