Classes for Java and JNDI Providers (NJCL)

1.0 Release Notes
1.1 Path File Names
1.2 JNDI Upgrade to v1.2x
1.3 Complete Component Download
1.4 Client Library DLLs
1.5 Novell Service Providers for JNDI
1.6 LDAP Service Provider for JNDI
1.7 JFC and JDK Versions
2.0 What's New
3.0 Documentation
4.0 Sample Code
5.0 Release Scope
5.1 Supported Platforms
5.2 Novell JVM for NetWare
5.3 NDS Iterator Device
5.4 NJCL Directory Structure
5.5 Multi-User Session Manager
6.0 Manual Configuration
6.1 Change CLASSPATH Environment Variable
6.2 Using the JNCPV2 DLL/NLM
7.0 Frequent Errors
7.1 JNCP Not Found in Shared Library Path
7.2 Unsatisfied Link Exception
7.3 NJCL and JDK 1.1.6
8.0 Performance Tips
9.0 Legal Notices


1.0 Release Notes


1.1 Path File Names

This release of NJCL allows you pass paths in the two file name strings of Context.rename. Previous versions allowed you to pass only atomic file names without including any path information for the old and new file names.


1.2 JNDI Upgrade to v1.2x

NJCL supports Sun's JNDI 1.2.x version and is not compatible with JNDI 1.1.x versions. You can find documentation explaining the compatibility of JNDI 1.2 versions with the previous 1.1 versions at http://java.sun.com/products/jndi/1.2/compat.html .

To allow the use of both NJCL versions on the same computer, the names of the released jar, nlm, and dll files have changed. The new version of NJCL has v2 appended to the file names as follows:

  • njcl.jar is now njclv2.jar
  • jncp.nlm is now jncpv2.nlm
  • jncp.dll is now jncpv2.dll

WARNING:  Both versions of NJCL cannot be used simultaneously in a single classpath.

If you encounter problems while using either version of NJCL and get "Class Not Found" errors, check your classpath for the correct JAR files and then check your import statements.


1.3 Complete Component Download

If you completely download (njcl_all.exe) the NJCL component (software, documentation, and sample code), you cannot install directly to a server. You must install to your local workstation first, then copy the following three files to the server:

  • Copy jncpv2.nlm to sys:java\njclv2\bin
  • Copy njclv2.jar to sys:java\njclv2\lib
  • Copy jndi.jar to sys:java\njclv2\lib


1.4 Client Library DLLs

Client DLLs are no longer included with NJCL. Consequently, you need to install the latest client in order to avoid receiving an error while loading the jncpv2.dll file.

To download and install the appropriate client software, see http://www.novell.com/download. For more information, refer to the Frequent Errors section of this readme file.


1.5 Novell Service Providers for JNDI

The Novell service providers for JNDI are located in subpackages of com.novell.service. They are organized by namespace, such as NW (NetWare), NDS (Novell Directory Services), and so forth. The provider classes reside in the njclv2.jar file.

Initial context factories for Novell JNDI providers are located in the appropriate namespace package. For the appropriate factory locations, see the Service Provider documentation. You can also see com.novell.utility.naming.Environment.


1.6 LDAP Service Provider for JNDI

The LDAP Service Provider for JNDI that was previously released with NJCL has been removed and is no longer included in the njclv2.jar file. It is now shipped as a separate component in the NDK.


1.7 JFC and JDK Versions

With all versions subsequent to the February 1999 NDK release, SWING 1.1.1 or Java Foundation Classes (JFC) from Sun Microsystems' Java Software Division is included. These new classes are incompatible with older versions of JFC and cause errors in applications that were compiled using the older code. In order to work around this issue, the old swing.jar file can be renamed and manually added to the classpath, which allows both newer and older applications to continue working properly.

The NJCL class libraries are built and tested with JDK 1.1.7b. However, they will run with JDK1.2.2. THe NJCL class libraries do not work with the JDK 1.1.6 JIT. For more information, see the Frequent Errors section of this readme.


2.0 What's New

The resulting installed directory structure for NJCL changed slightly. Instead of the former c:\novell\java install directory, this component is now installed to the c:\novell\ndk\njcl directory.

To see what changed in the software, documentation, and sample code for previous releases, see the What's New Archive. To see the specific documentation changes that were made, see the Revision History in the documentation.


3.0 Documentation

We've enabled Start menu documentation entries. After you have installed the documentation, use the "NDK Documents" entry on your Start menu to quickly locate and access NDK documentation.

The documentation for NJCL consists of html files and graphics files in several different directories.

To view the NJCL documentation, locate the index.htm file in the [install location]\novell\ndk\doc\njcl\njcl_enu directory and open that file in your web browser. The default install location is C:\.

The Reference Guide (API) documentation has been converted from Javadoc v1.1 to the new v1.2 format, which has a different documentation format. Also, each package has a description of the package contents.


4.0 Sample Code

Sample programs are shipped with this release to help in understanding how to create a complex application with JNDI and NJCL. These NJCL sample code files can be viewed or downloaded from the Sample Code section in the NDK browser interface (NDK home page). Click the appropriate button next to Classes for Java and JNDI Providers (NJCL).

The simplest and easiest way to access the sample code is to view the various files from the ND browser interface either on the Internet NDK home page or on the NDK CD. You can also view the sample code from within the NJCL Documentation, Sample Code page. The available .java file listings are located in several different directories.

When you download the sample code using the default installation directory path (C:\novell\ndk\), two versions of the sample code are downloaded. The .java version in the directory path novell\ndk\samples\njcl_sample, and the viewable .html version in the directory path novell\ndk\samplecode\njcl_sample. This duplication allows you to view the downloaded sample code from within the NJCL documentation. Alternatively, you can load the sample code files into a text editor for viewing and customizing.

Because the sample code does not rely on a Java authenticator, you must run the sample code files on a computer with an existing authenticated network connection if you want them to run correctly.

With this release, the sample code that is viewable from the NJCL Developer's Guide documentation can be accessed partially from the Sample Source Code page and partially from the NJCL and JNDI Solutions page.


5.0 Release Scope


5.1 Supported Platforms

The supported platforms for this release are NLM (NetWare 4.x, 5.x), Windows 95/98, and Windows NT/2000. NJCL classes can access all NetWare servers.

All installations require a 32-bit operating system that supports Windows 95 compatible long file names.


5.2 Novell JVM for NetWare

The Novell JVM for NetWare is required to run NJCL on a NetWare server. For the most recent version of the JVM, see the NDK.


5.3 NDS Iterator Device

The Iterator device for NDK v8 provides List and Search functionality with NdsIterator, which can deal with very large results sets (hundreds of thousands). It provides a way for creating a large virtual list on specific server that contains all the objects in any specified container that pass a search filter.


5.4 NJCL Directory Structure

The following directories are located under the sys:\java\nclv2 directory:

  • bin -- Native support for Windows 95/98, Windows NT/2000, and NLM.
  • lib -- njclv2 and JNDI jar files. Contains bytecode for all supported platforms, as well as additional jar files.
  • src -- Source for Novell JNDI providers and NJCL.


5.5 Multi-User Session Manager

The manager feature allows multiple separate sessions to the same domain. It also provides the capability for multiple distinct authentications simultaneously into the same domain. This feature works only when running on a NetWare server. (To use this feature from any JVM, see NJCL - Clientless.)

For further information, see the Introduction paragraphs in the Session Manager Services section in the NJCL Developer's Guide. Also, a sample source code file (MultiUserSessionTest.java) is available in the downloaded sample source code directory.


6.0 Manual Configuration


6.1 Change CLASSPATH Environment Variable

The install program can optionally update the CLASSPATH information automatically. However, if you do not choose the automatic update during installation, you can manually update the classpath variable by completing the following:

To use the JNDI and NJCL classes, modify your CLASSPATH variable to point to the jar files in the lib directory. For example, at the client console, enter

SET CLASSPATH=%CLASSPATH%;C:\NOVELL\JAVA\NJCLV2\LIB\JNDI.JAR; 
C:\NOVELL\JAVA\NJCLV2\LIB\NJCLV2.JAR;

To use the SWING and HELP classes, modify your CLASSPATH variable to point to the jar files in the lib directory. For example, at the client console, enter

SET CLASSPATH=%CLASSPATH%;C:\NOVELL\JAVA\NJCLV2\LIB\SWING.JAR; 
C:\NOVELL\JAVA\NJCLV2\LIB\HELP.JAR;

NOTE:  The swing.jar file is required for the GUID popup that is used by the authentication process.


6.2 Using the JNCPV2 DLL/NLM

The NJCL classes currently call native methods. These methods are contained in jncpv2.dll or jncpv2.nlm, which are located in the bin directory. To use this dll or nlm file, place it in your windows\system or winNT\system32 directory (or add the bin directory to your path). The setup program handles this setup step for you automatically if you choose.

The bin directory also contains jncpv2_g.nlm and jncpv2_g.dll, which are debug versions of the native methods.

Note that the same jncpv2.dll is used for Windows 95/98 and Windows NT/2000.


7.0 Frequent Errors


7.1 JNCP Not Found in Shared Library Path

Problem: I run one of the samples and get "JNCP* not found in shared library path" message.

Solution: This can happen for either of the following reasons:

  1. The jncp*.dll (or jncp*.nlm) files are not in the search path.
  2. The client DLL is out of synchronization with the jncpv2 dll file. Install the latest client from http://www.novell.com/download.


7.2 Unsatisfied Link Exception

Problem: I run one of the samples and get an UnsatisfiedLinkException error.

Solution: Check your CLASSPATH and ensure that you are using the proper njclv2.jar and jncpv2.nlm or jncpv2.dll pairs. Rerunning the install program will check this automatically.


7.3 NJCL and JDK 1.1.6

Problem: I am having problems when running the NCJL class libraries with JDK 1.1.6.

Solution: The NJCL class libraries are known not to work with the JDK 1.1.6 JIT. To disable the JDK 1.1.6 JIT, use the -nojit option. Type

java -nojit

or

jre -nojit


8.0 Performance Tips

The list method returns names of bindings, whereas the lookup method returns detailed information for a binding. If you use lookup multiple times using the names returned by list, your application's performance will decrease. We recommend that you use lookup only when a user requests details on a specific binding.

If you desire more information on the bindings found while using list, the listbindings method gives you better performance.


9.0 Legal Notices

Novell, Inc. makes no representations or warranties with respect to the contents or use of this download, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to revise this publication and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes.

Further, Novell, Inc. makes no representations or warranties with respect to any software, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to make changes to any and all parts of Novell software, at any time, without any obligation to notify any person or entity of such changes.

You may not use, export, or re-export this product in violation of any applicable laws or regulations including, without limitation, U.S. export regulations or the laws of the country in which you reside.

All files provided in this release are subject to the Novell Developer License Agreement, which can be found in the license.txt file provided in this download.

Copyright © 1999-2005 Novell, Inc. All rights reserved. No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transmitted without the express written consent of the publisher.

Novell and NetWare are registered trademarks of Novell, Inc. in the United States and other countries.

All third-party products are the property of their respective owners.