Contents | Index NonStop Server for Java 5.0 Programmer's Reference Abstract This document describes the HP NonStop™ Server for Java™, based on Java 2 Platform Standard Edition 5.0, a Java environment that supports compact, concurrent, dynamic, and portable programs for the enterprise server. The NonStop Server for Java uses the HP NonStop operating system to add scalability and program persistence to the Java environment.
426947-004 NonStop Server for Java 3.1 September 2002 426947-005 NonStop Server for Java 3.1 Update 1 December 2002 526238-001 HP NonStop Server for Java, based on Java 2 Platform, Standard Edition, SDK 1.4.1, Version 1.0 October 2003 526238-002 HP NonStop Server for Java, based on Java 2 Platform, Standard Edition, SDK 1.4.2, Version 2.0 December 2004 529774-001 For TNS/R, HP NonStop Server for Java, based on Java 2 Platform, Standard Edition, SDK 1.4.2, Version 2.
Intel, Itanium, Pentium, and Celeron are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Java and all Java based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Motif, OSF/1, UNIX, X/Open, and the "X" device are registered trademarks, and IT DialTone and The Open Group are trademarks of The Open Group in the U.S. and other countries.
NonStop Server for Java 5.0 Programmer's Reference (540385-001) © 2006 Hewlett-Packard Development Company L.P. All rights reserved.
Title Page NonStop Server for Java 5.
❍ ● BEA WebLogic Server for the HP NonStop Server ■ JDBC Drivers for NonStop SQL Database Access ■ JToolkit for NonStop Servers ■ NonStop CORBA ■ NonStop Servlets for Java ServerPages ■ NonStop Server for Java Message Service (JMS) ■ NonStop Tuxedo: Jolt Client ■ Stored Procedures in Java Learning About the Prerequisites ■ Learning About Java ■ Learning About Open System Services ❍ Verifying the Java Installation ❍ Tutorial: Running a Simple Program, HelloWorld ❍ Specifying the CPU
❍ Additional Environment Variables ❍ Java Native Interface (JNI) ❍ ❍ ■ Calling C or C++ Methods from Java ■ Calling Java Methods from C or C++ ■ Linker and Compiler Options ■ How to Create Your Own Library of Native Code IEEE Floating-Point Implementation ■ Floating-Point Values ■ Double-Precision Values ■ How to Call TNS Floating-Point Functions from JNI Code Multithreaded Programming ■ Thread Scheduling ■ Threading Considerations for Java Code ■ Threading Considerations for Native
● ● ❍ JVM Tuning Tools ❍ Tuning Application Performance Memory Considerations: Moving QIO to KSEG2 ■ Determining the Heap Manager ■ Determining the Heap Setting ■ Related Tuning Guides Transactions ❍ Controlling Maximum Concurrent Transactions ❍ Current Class Methods ❍ Java Transaction API (JTA) ■ javax.transaction Interfaces ■ javax.
❍ Compling C++ Native Code with the -Wversion3 Option ❍ Floating-Point Support ❍ Using AWT Classes ❍ POSIX Threads ❍ Directories of Binary Files Moved ❍ Character Handling ❍ BigDecimal Class ❍ JAAS Enhancement ❍ Miscellaneous Changes for Migration to TNS/E ■ JNI_OnLoad and JNI_OnUnLoad Functions ■ Debugger ■ Default Heap and Stack Sizes ■ dlfcn.h File ● Appendix A. Summary of JDK 5.
Title Page | Contents | Prev | Next | Index | Glossary About This Document This section explains these subjects: ● New and Changed Information ● Is This Document for You? ● Document Structure ● Printing This Document ● Related Reading ● Notation Conventions ● Abbreviations New and Changed Information This subsection describes how this edition of the NonStop Server for Java 5.
● J2SE 5.0 Release Notes (http://java.sun.com/j2se/1.5.0/relnotes.html) Other technical changes to the product for this version include: ● Updated links to Sun Microsystems J2SE documentation from version 1.4.2 to 1.5.0 ● Removed TNS/R system specific information, except in the Migrating Applications section. This manual documents use only on TNS/E systems. ● Added updated information about migrating application under Migrating Applications.
J2SE Runtime Environment (JRE) ● Made factual and editorial corrections and added references to manuals in the H-series release version update library. Is This Document for You? This NonStop Server for Java Programmer's Reference is for all Java programmers who want to use Java on HP Integrity NonStop systems. For programmers new to Java, this document refers to documentation from Sun Microsystems, Inc.
About This Document Describes the intended audience and the document structure, lists related documents, and explains notation conventions and abbreviations. Introduction to NonStop Server for Java 5 Explains NonStop software fundamentals as they apply to NonStop Server for Java 5, describes associated Java products on the NonStop system, and points out J2SE JDK highlights.
List of Tables Lists the tables in this document. Each table name is a link to that table. Index Lists this document's subjects alphabetically. Each index entry is a link to the appropriate text. Printing This Document Although reading this document on paper sacrifices the HTML links to other documentation that you can use when viewing this document on your computer screen, you can print this document, one file at a time, from either the NonStop Technical Library or your web browser.
Provides the API description for these packages ❍ com.tandem.os ❍ com.tandem.tmf ❍ com.tandem.util NonStop System Computing Documents The following NonStop system computing documents are available through the NonStop Technical Library. ● Additional Java Based Products ❍ JDBC Driver for SQL/MP Programmer's Reference ❍ This document describes how to use the JDBC Driver for SQL/MP (JDBC/MP) on NonStop servers. JDBC/MP gives Java applications JDBC access to NonStop SQL databases through SQL/MP.
● C/C++ Programmer's Guide Describes the HP implementation of the C and C++ programming languages for NonStop systems. For a NonStop Server for Java JDBC driver to access a SQL/MP database, the C compiler for the HP NonStop Open System Services (OSS) environment (c89) must be installed and configured correctly. Also, you might need this document if you use the Java Native Interface (JNI) to communicate between Java and a native library.
● interface and other connectivity APIs to use SQL/MX to access NonStop SQL databases on an HP NonStop system. Open System Services Installation Guide ● Explains how to install the OSS environment. Open System Services Porting Guide ● Includes information on differences between OSS POSIX Threads and Standard POSIX Threads that are useful for migrating multithreaded native libraries used with NonStop Server for Java 3.1 to NonStop Server for Java 5.
❍ (SQLCI) options to design and produce reports. SQL/MP Version Management Guide ❍ Explains the rules governing version management for the NonStop SQL software, catalogs, objects, messages, programs, and data structures. SQL/MP Messages Manual Explains NonStop SQL/MP messages for the conversational interface, the application programming interface (API), and the utilities. ● ❍ SQL/MP Programming Manual for C ❍ Describes the SQL/MP programmatic interface for ANSI C.
● ❍ SQL/MX Query Guide ❍ Explains query execution plans and how to write optimal queries for SQL/MX. SQL/MX Reference Manual ❍ Describes SQL/MX language elements (such as expressions, predicates, and functions) and the SQL statements that can be run in MXCI or in embedded programs. Also describes MXCI commands and utilities. SQL/MX Messages Manual ❍ Describes SQL/MX messages. SQL/MX Programming Manual for C and COBOL ❍ Describes the SQL/MX programmatic interface for ANSI C and COBOL.
SQL/MP, SQL/MX, or Enscribe databases in an online transaction processing (OLTP) environment. Using the NonStop Server for Java, you can communicate with Pathway servers from Java programs. This document explains how to write Pathway programs, including Pathsend processes. ● TS/MP System Management Manual Provides information about Pathway applications. You must be familiar with Pathway applications in order to configure Scalable TCP/IP (SIP) applications.
Notation Conventions Bold Type Bold type within text indicates terms defined in the Glossary. For example: abstract class Computer Type Computer type letters within text indicate keywords, reserved words, command names, class names, and method names; enter these items exactly as shown. For example: myfile.c Italic Computer Type Italic computer type letters in syntax descriptions or text indicate variable items that you supply. For example: pathname [ ] Brackets Brackets enclose optional syntax items.
-D propertyName=newValue Item Spacing Spaces shown between items are required unless one of the items is a punctuation symbol such as a parenthesis or comma. If there is no space between two items, spaces are not permitted. In the following example, spaces are not permitted before or after the period: subvolume-name.
HTTP. Hypertext Transfer Protocol IDL. Interface Definition Language IEC. International Electrotechnical Committee IEEE. Institute for Electrical and Electronic Engineers IETF. Internet Engineering Task Force ISO. International Organization for Standardization J2SE. Java 2 Platform Standard Edition JAAS. Java Authentication and Authorization Service JAR. Java Archive JCK. Java Conformance Kit JDK. J2SE Development Kit JFC. Java Foundation Classes JDBC. Java Database Connectivity JDBC/MP.
OTS. Object Transaction Services POSIX. portable operating system interface x Pthread. POSIX thread RDF. Remote Database Facility RMI. Remote Method Invocation RVU. release version update SIP. Scalable TCP/IP SPI. service provider interface SPJ. stored procedure in Java SQLJ. embedded SQL in Java programs SQL/MP. Structured Query Language/MP SQL/MX. Structured Query Language/MX TACL. HP Tandem Advanced Command Language TCP/IP. Transmission Control Protocol/Internet Protocol TMF.
Title Page | Contents | Prev | Next | Index | Glossary Introduction to NonStop Server for Java 5 The HP NonStop Server for Java 5 is a Java environment that supports compact, concurrent, dynamic, portable programs for the enterprise server. The NonStop Server for Java 5 requires the HP NonStop Open System Services (OSS) environment. The NonStop Server for Java 5 uses the HP NonStop operating system to add the NonStop system fundamentals of scalability and program persistence to the Java environment.
● HotSpot Server Java Virtual Machine ● J2SE Development Kit (JDK) Highlights ● Java Naming and Directory Interface (JNDI) Highlights ● IPv6 Support ● Associated Java Based Products Java HotSpot Server Virtual Machine The NonStop Server for Java 5 implements the HotSpot server compiler and the runtime Java HotSpot virtual machine. The HotSpot Server Java VM, provides a fast, reliable technology for the enterprise server environment.
NonStop Server for Java 5 supports the JDK 5.0 API packages (java, javax, and org packages) described in the Java 2 Platform Standard Edition 5.0 API Specification (http://java.sun.com/j2se/1.5.0/docs/api/index.html). Because of the nonvisual nature of NonStop servers, the NonStop Server for Java 5 supports the following packages according to Headless support. Package Description java.
directory services. The JNDI SPI enables a variety of naming and directory services to be plugged in transparently, allowing Java programs that use the JNDI API to access their services. NonStop Server for Java supports JNDI, which is a standard interface in Java implementations. For more information about the JNDI, see the Sun Microsystems Java Naming and Directory Interface 1.1.1 Specification (http://java.sun.com/products/jndi/javadoc/overview-summary.html). IPv6 Support The J2SE JRE 5.
Java 5 version installed at your site, see the SOFTDOC file on the NonStop Server for Java 5 product CD. The listed high-level middleware products are shown working with NonStop Server for Java 5 and NonStop SQL databases.
BEA WebLogic Server for the HP NonStop Server The BEA WebLogic Server is a standards-based Java 2, Enterprise Edition (J2EE) application server that provides a foundation for building applications and includes: ● Load balancing ● Fault tolerance ● Web services ● Network transparency ● Legacy integration ● Transaction management ● Security ● Multithreading ● Persistence ● Database connectivity ● Resource pooling ● Development, testing, and packaging facilities The BEA WebLogic Server uses the Java platform f
● Server for Java on a NonStop system. The type 2 drivers are included on the NonStop Server for Java distribution CD. ❍ JDBC Driver for NonStop SQL/MX (JDBC/MX) for use with SQL/MX ❍ JDBC Driver for NonStop SQL/MP (JDBC/MP) for use with SQL/MP JDBC Type 4, which use network protocols built into the database engine. Type 4 drivers talk directly to the database using Java sockets.
Pathsend API for Java The NonStop Transaction Services/MP (NonStop TS/MP) product supports the use of Pathway servers to access NonStop SQL or Enscribe databases in an online transaction processing (OLTP) environment. Using the Pathsend API for Java, programs can send requests to these Pathway servers and receive replies from them. Pathway servers can be written in C, COBOL, or Java.
NonStop Servlets for JavaServer Pages NonStop Servlets for JavaServer Pages (NSJSP) are platform-independent server-side programs that programmatically extend the functionality of web-based applications by providing dynamic content from a Web Server to a client browser over the HTTP protocol. NSJSP is an extension of that servlet functionality, primarily supplying a template of static content to be modified with dynamic content from a servlet or another programmable resource.
NonStop Tuxedo: Jolt Client The Jolt product is a Java based interface to the HP NonStop Tuxedo system that extends Tuxedo services to the Internet. Jolt allows you to build client programs and applets that can remotely invoke existing NonStop Tuxedo services allowing application messaging, component management, and distributed transaction processing. With Jolt, you can leverage existing Tuxedo services and extend your transaction environment to the corporate intranet or world-wide Internet.
NonStop Server for Java 5.0 Programmer's Reference (540385-001) © 2006 Hewlett-Packard Development Company L.P. All rights reserved.
Title Page | Contents | Prev | Next | Index | Glossary Getting Started Although this manual assumes that you are familiar with using Java and HP NonStop Open System Services (OSS), this section provides background information for persons not familiar with these products. Additionally, this section shows how to perform common tasks that are characteristic to running Java applications on NonStop systems.
When choosing a Java tutorial or book, check that the information is appropriate for use with the JDK 5.0 implementation. Also, books and tutorials about how to write graphical user interfaces are not useful because the NonStop Server for Java 5 is a headless implementation. Learning About Open System Services (OSS) OSS is the open computing interface to the HP NonStop operating systemthe operating system for NonStop servers. Java applications run in the OSS environment.
OSS Commands and Utilities Lists and describes user commands and utilities. Running the OSS Shell Describes how to run the OSS shell using the osh command. Creating Files Describes how to create new files in the OSS environment using the vi text editor. Note that you can avoid using the vi text editor by creating the files in another environment and using the File Transfer Protocol (FTP), the ftp command, or another utility to put the files in the OSS file system.
/home/lee/jdk150 1. Set the PATH environment variable by using the following command at the OSS prompt: $export PATH=/home/lee/jdk150/java/bin:$PATH 2. Confirm that the path is set correctly by typing the whence command: $whence java /home/lee/jdk150/java/bin/java 3. Determine the version of the Java virtual machine (JVM) by typing the vproc command, which displays the product versions of the java binary file and any products bound into the java binary.
1. Create a java Source File. Perform either steps a, b, and c or step d only. a. Using your favorite editor, create a file that contains the following source code. b. Name the file HelloWorld.java. c. Place the file in the OSS file space by using FTP. /** * The HelloWorld application implements a java class that * displays "Hello World!" to the standard output. */ class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } d.
type the following command at the OSS prompt set the JREHOME shell variable: $export JREHOME=/test_dir/java/jre 3. Set the PATH Environment Variable. Add the directory where the NonStop Server for Java 5 executable file is installed to your PATH environment variable.
6. Run the Program by Using the java Tool. a. At the OSS prompt, ensure that the position is in the directory where your HelloWorld.class file is stored. For information about changing position, see step 5b. b. To run the HelloWorld program (also called an application), type the following command at the OSS prompt: $java HelloWorld Note that you should not type java HelloWorld.class. All Java classes have the .class extension. Typing .class at the end causes an error message.
For more information about the run(1) utility, see the Open System Services Shell and Utilities Reference Manual. Configuring a Java Pathway Serverclass The following is a brief overview of the specific Java requirements for configuring a Java program to run as a Pathway serverclass. Complete information about the topic is available in the TS/MP System Management Manual. The serverclass attributes that have specific Java requirements follow.
the PATHCOM prompt follows. (However, you would typically type these commands in a configuration file to be used with PATHCOM.) $gtacl -p pathcom \$foo PATHCOM ..... =set server ENV /home/lee/jdk150/java/jre PROGRAM Set the PROGRAM attribute to the java executable. The java executable is located by default in /usr/tandem/java/bin/. For example from the OSS prompt, start a PATHMON (process monitor) named $foo and set the PROGRAM attribute at the PATHCOM prompt: $gtacl -p pathcom \$foo PATHCOM .....
Title Page | Contents | Prev | Next | Index | Glossary Installation and Configuration This section explains these subjects: ● Installation Requirements ● Configuration Requirements ● NonStop Server for Java Directory Structure For information about how to verify a NonStop Server for Java 5 installation, see Verifying a Java Installation.
Configuration Requirements This subsection explains how to configure your system for the J2SE JDK by understanding the following: ● Creating Larger or Additional Swap Files ● Setting Environment Variables ● Symbolic Link ● Configuring TCP/IP and DNS for RMI Note: Do not install any JAR or native library files under the NonStop Server for Java installation directory.
The PATH shell variable must be created in each shell in which you plan to run java or one of its tools. For this reason, it is a good idea to set the PATH in the .profile file in your home directory that is executed each time you log on to an OSS shell. See the Open System Services User's Guide for information on how to set the path in your startup file. Class Path The class search path (more commonly, class path) is the path that the Java runtime environment searches for classes and other resource files.
utility.myapp. If the path to that directory is: /java/MyClasses/utility/myapp, you would set the class path so that it contains /java/MyClasses. To run that application, you could use the following java command: $java -classpath /java/MyClasses utility.myapp.Cool Example: Setting the CLASSPATH Environment Variable Using the same situation as in the preceding example, except that you want to set the CLASSPATH environment variable so that the Java runtime can find the class named Cool.
Server for Java 5 is installed. This can produce unpredictable results. _RLD_LIB_PATH The _RLD_LIB_PATH environment variable specifies the library path for DLLs. You need to use this environment variable only if you use user DLLs. You can specify one or more directories as necessary. Separate each directory in the list by using a colon (:). Set this environment variable as follows: _RLD_LIB_PATH=dll_path[:dll_pathn]... where dll-path and dll-pathn are the directories where the user DLLs reside.
and this symbolic link points to the directory /h/myjava/nssjava/jdk150_h50. Configuring TCP/IP and DNS for RMI For Remote Method Invocation (RMI) API to work, TCP/IP and its component, DNS, must be configured correctly. For the correct version of TCP/IP, see the NonStop Server for Java 5 Softdoc. A network administrator usually configures TCP/IP and DNS, but you can determine if an incorrect TCP/IP configuration is causing a JVM problem.
/jre The root directory of the J2SE Runtime Environment. Includes core classes, classes supplied by HP, and runtime libraries. The core Java classes are in the lib/rt.jar file. The Pthreads DLL resides in the lib/oss/pthreads subdirectory. /lib Classes other than core classes for support of the tools and utilities in the JDK software.
Title Page | Contents | Prev | Next | Index | Glossary Implementation Specifics This section explains these subjects regarding HP implementations of NonStop Server for Java, based on Java 2 Platform Standard Edition 5.
● ● available only with a Java HotSpot client VM. Server-class machine detection because a server-class machine is always assumed Java user-interface features because they are desk-top related ❍ General deployment features, such as klist ❍ Java Web Start Technology ❍ Sound Java API Additional Files In addition to the standard Java packages, the NonStop Server for Java 5 provides these files: jtatmf.
❍ ❍ ❍ ❍ SPT_ABORTTRANSACTION() SPT_BEGINTRANSACTION() SPT_ENDTRANSACTION() SPT_RESUMETRANSACTION() Note: The Open System Services Programmer's Guide says that the maximum concurrent transactions allowed in a process is 100; however, the JVM is an exception where the maximum allowed is 1000 as described under Controlling Maximum Concurrent Transactions.
thread by specifying the -Xss option when starting java. This option increases the stack size for every thread. For more information about the -Xss option, see java in the NonStop Server for Java Tools Reference Pages. 4. Create a DLL file (.so file type) and specify the linker option -set floattype IEEE_float.
-WIEEE_float Any compilation units not called directly by the JVM can be compiled without the –WIEEE_float option; however, the complications that can occur while using such mixed modes are beyond the scope of this document. However, the javahjni demo shows an example of mixed modes. (For information on demos, see Demonstration Programs.
Double-Precision Values For double-precision values, TNS floating-point representations have smaller exponents (and therefore, a smaller range) than IEEE floating-point representations, but they are more precise, as the following table shows: Floating-Point Representation Minimum Positive Decimal Value Maximum Decimal Value TNS 1.7272337110188889e-77 1.15792089237316192e77 IEEE 4.94065645841246544e-324 1.
Multithreaded Programming The Java virtual machine for the NonStop Server for Java 5 is multithreaded. It uses Standard POSIX Threads, which conforms to IEEE POSIX Standard 1003.lc. Threads are scheduled for execution by the Standard POSIX Threads library, not by the operating system. All threads created within a process share the same process address space in the same CPU. With Standard POSIX Threads on NonStop systems, one thread can never be preempted by another thread.
for (int i = 0; i < NUMRUNNERS; i++) { runners[i] = new SelfishRunner(i); runners[i].setPriority(2); } for (int i = 0; i < NUMRUNNERS; i++) runners[i].start(); } } SelfishRunner.java public class SelfishRunner extends Thread { private int tick = 1; private int num; public SelfishRunner(int num) { this.num = num; } public void run() { while (tick < 400000) { tick++; if ((tick % 50000) == 0) System.out.
● ● Pipe I/O TMF transactions (com.tandem.tmf package) JToolkit provides a thread-aware API for performing I/O to Enscribe files, $RECEIVE, and Pathway servers by using Pathsend procedure calls. For more information, see the JToolkit Programmer's Reference. OSS file I/O operations are not thread-aware. These operations block the entire Java process for the duration of the operation.
This section contains information about the jacket routines that make many of the available system calls thread-aware. The interfaces themselves, however, are documented in the OSS System Calls Reference Manual. To use these jacket routines, you need to add the following define in your native code. #define SPT_THREAD_AWARE Adding this define in the native C/C++ code, transparently provides you the thread-aware equivalents of many of the interfaces, for example, the Socket interface.
a Configuration to determine the authentication technology, or LoginModule, to be used in performing the authentication. The LoginModule interface gives developers the ability to implement different kinds of authentication technologies that can be plugged in under an application. For example, one type of LoginModule may perform a username-password-based form of authentication. Other LoginModules may involve more sophisticated authentication mechanisms.
Debugging Overview NonStop Server for Java 5 supports Java Platform Debugger Architecture (JPDA) that provides debugging support for the Java platform.
(http://java.sun.com/j2se/1.5.0/docs/guide/jpda/architecture.html). JDI specification does not provide in-process debugging. Hence, a Java based tool called a debugger is used to debug another JVM running the Java application. This JVM, called the debuggee, also contains the back-end of the debugger that is responsible to accept the request from the front-end of the debugger and to respond to these requests. NonStop Server for Java 5 ships a terminal oriented non-GUI debugging tool.
compiler. Starting the Java Debugger (jdb) Tool Now, the Java Debugger (jdb) tool can be started to communicate with the debuggee by using the jdb command as described for various situations. ● If you are using JDB on the same NonStop system where the debuggee runs, use jdb -attach portnum ● If you are using JDB on a different NonStop system from where the debuggee runs, use jdb -attach host-name:portnum ● If you are using JDB from Microsoft Windows or any other platform, use jdb -connect com.sun.jdi.
3. Click Add Breakpoint and select DLL Open from Event Name drop-down menu. 4. Click OK. Debugging Java and JNI Code You can use the Native Inspect debugger tool to debug the native code and the Java Debugger tool to debug the Java code at the same time. You need to start the Java debuggee process under a debugger. For example, type the following command.
For more information about jdb and how to start a Java program so that jdb can attach to it, see jdb in the NonStop Java Tools Reference Pages. Garbage Collection (GC) This topic discusses implementation-specific information about garbage collection for NonStop Server for Java 5.
The generations are: ● Young (also called new) generation—The JVM allocates objects in the young generation pool. Minor garbage collection happens when this young generation is full and the JVM is unable to allocate new objects. The young generation also includes two survivor spaces. One survivor space is empty at any time and serves as a destination of the next GC operation, which copies the collection of any live objects in Eden and the other survivor space.
Note: At initialization time, the maximum size of the combined young and tenured generations and the maximum size of permanent generation are allocated. Implementation of Garbage Collector Types The default garbage collectors in NonStop Server for Java 5 are ● Copying collector for the young generation ● Mark-sweep collector for the tenured generation NonStop Server for Java 5 uses these garbage collectors because they are the most efficient on the NonStop system.
disabled. If you specify this option, the JVM exits with the error: -XX:+AggressiveHeap option is not supported on this platform. -XX:GCHeapFreeLimit=space-limit Specifies the lower limit on the amount of space freed during a garbage collection in percentage of the maximum heap. -XX:GCTimeLimit=time-limit Specifies the upper limit on the amount of time spent in garbage collection in percent of total time.
-Xmx : the maximum memory allocation pool The maximum value for the NonStop system depends on the location of the QIO segment. If the segment is moved to KSEG2, the maximum value can be as high as 900 MB, otherwise, the maximum value may stay around 350 MB. For information on QIO segment location, see Memory Considerations: Moving QIO to KSEG2. Also, for more information on the -Xms and -Xmx options, see Managing Generation Size.
-XX:PreBlockSpin=nn Only for Linux -XX:-UseISM Solaris specific -XX:-UseMPSS Solaris specific -XX:-UseSpinning Only for Linux JVM Tuning Tools PrintGCStats is a tool for mining verbose:gc logs that can aid analyzing and tuning garbage collection. You can download this tool from the following location: http://java.sun.com/developer/technicalArticles/Programming/turbo/PrintGCStats.zip Additionally, for a discussion of profiling tools, see the Application Profiling section.
Example: Determining the QIO Segment Size in Use To determine the QIO segment size in use, use the following SCF command from the TACL prompt: TACL> scf SCF - T9082G02 - (30APR03) (01APR03) - 03/19/2004 02:20:31 System \NAVAE1 (C) 1986 Tandem (C) 2003 Hewlett Packard Development Company, L.P. (Invoking \NAVAE1.$DATA11.RAMR.SCFCSTM) 1-> status segment $ZM00, detail. QIO Detailed Status SEGMENT \NAVAE1.$ZM00 State.................. Segment State.......... Segment Type........... Segment Size...........
Determining the Heap Manager The C Runtime Heap manager (T1269) offers a substantial performance boost over the older heap manager (T8431). While this performance boost might not affect any pure Java code, the JVM contains native (C and C++) code; therefore, using the T1269 heap manager will boost the JVM performance. To find the C Runtime Heap Manager being used on your NonStop system, use the vproc command output from the ZCRESRL library; at the TACL prompt, type. TACL> vproc $SYSTEM.sysnn.
KBYTE PAGES KBYTE ----------------------------------------------------------------------------2101 8B 1 16 2100 8B 1 16 Heap+Global+SRL+Stack 330MB 21187 331MB ----------------------------------------------------------------------------TOTAL 21187 331MB FILE-BACKED SEGMENTS: None _____________________________________________________________________________ NSKIn the preceding output, the JVM process ($JSV1) uses 331 MB of swap space and has two segments allocated.
Title Page | Contents | Prev | Next | Index | Glossary Transactions The NonStop Server for Java 5 lets you work with transactions in several ways. You can: ● Use the Current class methods to define transactions across transaction services, such as transactions that include JDBC calls. ● Use the Java Transaction API (JTA).
Current Class Methods The Current class is based on version 0.5 of the Java Transaction Services (JTS) specification. The following table describes the Current class methods. For the API specification, see the tandem.com.tmf package description in the NonStop Server for Java API Reference Method Description begin Starts a new transaction and associates it with the calling thread. commit Commits the transaction associated with the calling thread.
// start a new transaction in the current thread tx.begin(); // ... access Pathway server // commit current transaction (JDBC and Pathway) tx.commit(true); For more information on the Current class, see the tandem.com.tmf package description in the NonStop Server for Java API Reference. Java Transaction API (JTA) NonStop Server for Java 5 supports transactions by means of the NonStop Server for Java Transaction API, which is an implementation of the Sun Microsystems JTA Version 1.0.
javax.transaction Interfaces The Sun Microsystems JTA package, javax.transaction, defines the following interfaces: ● Status ● Synchronization ● Transaction ● TransactionManager ● UserTransaction NonStop Server for Java Transaction API supports all of the preceding interfaces, but only UserTransaction is available to client programs. UserTransaction allows the client to control transaction boundaries programmatically.
NonStop Server for Java Transaction API-TMF by Default The following code gets a reference to UserTransaction based on TMF (by default). It then starts and ends a transaction. import javax.transaction.UserTransaction; import com.tandem.jta.JTAFactory; // Get a reference to UserTransaction based on TMF (by default). UserTransaction utx = JTAFactory.getUserTransaction(); // Start transaction utx.begin(); // Do work ... // Commit transaction utx.
import com.tandem.jta.JTAFactory; // Get a reference to UserTransaction based on JTS. UserTransaction utx = JTAFactory.getUserTransaction(JTAFactory.JTS); // Start transaction utx.begin(); // Do work ... // Commit transaction utx.commit(); Note: NonStop Server for Java Transaction API-TMF is intended for applications other than CORBA applications. NonStop Server for Java Transaction API-JTA is intended for CORBA applications.
Title Page | Contents | Prev | Next | Index | Glossary Application Profiling With a profiling tool, you can get information about your Java program's CPU usage, heap allocation, and threads. Using this information, you can tune an application. The tools supported by NonStop Server for Java 5 include: ● Java Virtual Machine Profiler Interface (JVMPI) provides a profiler interface that tool vendors can use to develop GUI tools for profiling Java programs.
Using the HPROF Profiler Agent You can use the HPROF Profiler Agent for profiling your application. In the NonStop Open System Services (OSS) environment, HPROF is statically linked. HPROF writes out profiling information either to a file or to a socket in ASCII or binary format. By using HPROF, you can get information about your application's CPU usage, heap allocation, and threads.
The -Xrunhprof Option To run the HPROF Java profiler, you can use the -Xrunhprof option on the java command. The format is: java -Xrunhprof:[help]|[option=value, ...] Use the following java command to get a listing of HPROF help, which displays option-value pairs you can use with NonStop Server for Java 5.
TestClass.getNew(TestClass.java:16) ........... CPU SAMPLES BEGIN (total = 331) Wed Dec 19 17:48:51 2001 rank self accum count trace method 1 5.14% 5.14% 17 29 java/util/Random.next 2 4.83% 9.97% 16 62 WorkClass.doSomeWork 3 4.23% 14.20% 14 30 java/util/Random.next ........... CPU SAMPLES END Example 2: cpu=times CPU TIME (ms) BEGIN (total rank self accum count 1 6.89% 6.89% 22920 2 3.14% 10.03% 2638848 3 1.70% 11.74% 2639051 ........
Profiling Techniques When you run HPROF, consider these techniques for using options: ● Do not use multiple profiling options together because each option affects performance. Using a single option provides data closer to typical performance than multiple options. ● Try profiling both CPU samples and CPU times; the results from each may differ.
Title Page | Contents | Prev | Next | Index | Glossary Migrating Applications This appendix describes the changes required to migrate applications that use earlier versions of the NonStop Server for Java. Note the terminology: ● NonStop Server for Java 4 refers to the product based on J2SE SDK 1.4.x ● NonStop Server for Java 5 refers to the product based on J2SE JDK 5.0 See the table below for the topics that apply to migrating from particular versions.
Compiling C++ Native Code with the -Wversion 3 Option Applicable Applicable Applicable N/A Floating-Point Support Applicable N/A N/A N/A Using AWT Classes Applicable N/A N/A N/A POSIX Threads Applicable N/A N/A N/A Directories of Binary Files Moved Applicable N/A N/A N/A Character Handling Applicable Applicable Applicable Applicable BigDecimal Class Applicable Applicable Applicable Applicable JAAS Enhancement Applicable N/A N/A N/A Miscellaneous Changes for Migration
Installation Changes The standard location for the NonStop Server for Java 5 is a location of the form: /usr/tandem/nssjava/jdk150_h50 where jdk150 refers to the version number of the Sun Microsystems update upon which NonStop Server for Java 5 is based. The number h50 identifies the particular NonStop Server for Java 5 PVU. When the PAX file is extracted, a symbolic link is created at the standard location: /usr/tandem/java.
For Java Based Products Before version 1 of the NonStop Server for Java 4 (based on J2SE SDK 1.4.0), no guidelines were provided for where Java based products should install their JAR files. Many of these products installed their JAR files in the /usr/tandem/java/jre/lib/ext directory. Occasionally, the installation of a Java based product would overwrite a JAR file required by another Java based product, possibly causing a version mismatch.
● ● ● ● On TNS/E, the -Dcompaq.liblist option is not supported. The customer Makefile no longer exists in the NonStop Server for Java 4 and 5 on TNS/E because DLL support precludes the need to bind user native code into the java executable. The _RLD_LIB_PATH environment variable, used only on the TNS/E platform, specifies the library path for user DLLs. For further information, see _RLD_LIB_PATH (TNS/E Only).
For more information, see Linker and Compiler Options. Floating-Point Support By default, NonStop Server for Java 3.1.x and earlier versions converted any floating-point value that crossed the Java Native Interface (JNI) boundary to a TNS float. This default could be overridden by supplying a line in the file TandemVMClassFP.properties.
Java linker flag Tandem float Tandem float IEEE float IEEE float Since NonStop Server for Java 3.1.x and earlier set the linker flag for the process to TNS float, any use of the C runtime library used routines that handled TNS floats. For NonStop Server for Java 4 and 5 versions, the linker flags described under Linker and Compiler Options are used to specify IEEE floating point. Accordingly, the C runtime library uses routines that handle IEEE floating point.
POSIX Threads NonStop Server for Java 3.1.x and earlier versions used OSS POSIX threads (product number T5819) that conformed to an earlier standard (Draft 4) for POSIX threads. NonStop Server for Java 4 and 5 use Standard POSIX Threads (product number T1248), which conforms to IEEE POSIX Standard 1003.lc. The POSIX threads calls in T1248 have changed to conform to the standard; therefore, any native code for NonStop Server for Java 3.1.
Supplementary Characters in the Java Platform and the Character class documentation for more information. BigDecimalFormat Class In JDK 5.0, the DecimalFormat class was enhanced to format and parse BigDecimal and BigInteger values without loss of precision. The formatting of these values is enhanced automatically To enable parsing into BigDecimal, you need to use the setParseBigDecimal method. JAAS Enhancement In NonStop Server for Java 3.
● On TNS/R systems, you use the following name: JNI_OnLoad_libname ● where libname is the name of the library that your program passed to the System.loadLibrary function. On TNS/E systems, use: JNI_OnLoad On TNS/R systems, the JNI_OnUnload function is not supported by NonStop Server for Java 4. On TNS/E systems, the JNI_OnUnload function is supported. Debugger Visual Inspect is the preferred debugger for applications on TNS/E. For debugging native code, you can also use Native Inspect ($System.SYSnnn.
Title Page | Contents | Prev | Next | Index | Glossary Appendix A. Summary of JDK 5.0 New Features NonStop Server for Java 5 includes the new features of core J2SE 5.0 that conform to the headless specification. For your convenience, this appendix provides a consolidated summary of the information from Sun Microsystems about these new features and provides many links to J2SE 5.0 documentation. For detailed information about J2SE 5.0 new features, see New Features and Enhancements J2SE5.0 (http://java.sun.
● ● array when invoking methods that accept variable-length argument lists. Static Import a facility that lets you avoid qualifying static members with class names without the shortcomings of the "Constant Interface antipattern." Annotations (Metadata) a feature that enables tools to generate boilerplate from annotations in the source code. JVM Enhancements ● ● Fatal Error Handling The fatal error reporting mechanism provides improved diagnostic output and reliability.
● Formatter An interpreter for printf-style format strings, the java.util.Formattable class supports layout justification and alignment, common formats for numeric, string, date/time data, and locale-specific output. This class supports common Java types, such as byte, java.math.BigDecimal, and java.util.Calendar. Limited formatting customization for arbitrary user types is provided through the java.util.Formattable interface. ● Scanner The java.util.
● ● ● ● ● The InetAddress class provides a new API to allow testing for the reachability of a host. This feature provides a ping-like capability in Java. Cookie support is improved. Applications and web containers can provide Cookie management by implementing the new CookieHandler API. Proxy server configuration is improved. Configuration can be dynamic and controllable by web containers and applications through the ProxySelector API, which can also handle failures to connect to the proxy.
Reflection Support is added for generics, annotations, enums. Also, the class java.lang.Class has added generic structures. JavaBeans Component Architecture A new subclass of PropertyChangeEvent called IndexedPropertyChangeEvent supports bound properties that use an index to identify the part of the bean that changed. Also, new methods to the PropertyChangeSupport class support firing indexed property change events.
● ● ● ● ● ● package, including Gregorian Calendar dates and times that previously had no natural analogues in the Java platform. XSLTC, the fast, compiling transformer (now the default engine for XSLT processing). DOM Level 3 core, which provides: ❍ XML 1.1 and Namespaces 1.1 (javax.xml.namespace), which provide better support for Unicode characters in tag names and namespaces. ❍ Support for normalization of documents. ❍ Support for schema data types (TypeInfo).
literals and for string to floating-point conversion methods in the Float and Double classes. Serialization New support handles new enumerated types. The rules for serializing an enum instance differ from those for serializing an "ordinary" serializable object: the serialized form of an enum instance consists only of its enum constant name and information identifying its base enum type. Deserialization behavior differs as well: the class information is used to find the appropriate enum class, and the Enum.
Integration Library Enhancements ● Remote Method Invocation ● CORBA, Java IDL, and Java RMI-IIOP ● Java Naming Directory Interface (JNDI) Remote Method Invocation (RMI) ● ● ● Dynamic Generation of Stub Classes new support for the dynamic generation of stub classes at runtime, making the need to use the Java Remote Method Invocation (Java RMI) stub compiler unnecessary, rmic, to pre-generate stub classes for remote objects.
● Added on-the-wire interoperability, which includes identifying and incorporating any resolutions and/or updates from the OMG of any interoperability issues since CORBA 2.3.1 that affect on-the-wire interoperability for the J2EE Application Servers, and incorporating those resolutions into the J2SE ORB. Java Naming and Directory Interface (JNDI) ● ● ● Enhancements to javax.naming.
● ● ● ● A service provider interface for connectors and transports allows debugger vendors, or even end users, to create their own JDI connectors and transports and plug them into the JPDA reference implementation. For example, a connector could be provided to use SSL to communicate between the debugger and debuggee. JDI supports the new language features (generics, enums, and varargs).
enclosed text is interpreted as not containing HTML markup or nested javadoc tags. For example, the doc comment text: {@literal ac} displays in the generated HTML page unchanged: ac that is, the is not interpreted as bold. ● ● ● The {@code} tag formats literal text in the code font; {@code abc} is equivalent to {@literal abc}
. Tag {@value arg} This inline tag now accepts the name of a program element: {@value package.class#field}.
J2SE 5.0 Features Not Implemented J2SE 5.0 features that do not apply to a server-side HotSpot VM are not implemented in NonStop Server for Java 5.0. Some other features do not apply to the NonStop Server for Java 5.0 implementation. For information about J2SE 5.
Title Page | Contents | Prev | Next | Index Glossary ABCDEFGHIJKLMNOPQRSTUVWXYZ A abstract class In Java, a class designed only as a parent from which subclasses can be derived, which is not itself suitable for instantiation. An abstract class is often used to "abstract out" incomplete sets of features, which can then be shared by a group of sibling subclasses that add different variations of the missing pieces. Abstract Window Toolkit (AWT) The package that implements graphical user interfaces for Java.
ASCII See American Standard Code for Information Interchange (ASCII). AWT See Abstract Window Toolkit (AWT). B BDK See JavaBeans Development Kit (BDK). branded A Java virtual machine that Sun Microsystems, Inc. has certified as conformant. browser A program that allows you to read hypertext. The browser gives some means of viewing the contents of nodes and of navigating from one node to another. Internet Explorer, Netscape Navigator, NCSA Mosaic, Lynx, and W3 are examples for browsers for the WWW.
is the part of a program that provides the user interface. The workstation client might also perform other portions of the program logic. Also called a requester. command The operation demanded by an operator or program; a demand for action by, or information from, a subsystem. A command is typically conveyed as an interprocess message from a program to a subsystem. Common Gateway Interface (CGI) The World Wide Web standard interface for servers, often written in C.
DCL See Data Control Language (DCL). DDL See Data Definition Language (DDL). debuggee A process being debugged. The process consists of the application being debugged, the Java VM running the application, and the Java VM Debug Interface (JVMDI). debugger A program designed to use the Java Debugging Interface (JDI) and connect to the (debuggee) so that a programmer can step through the debuggee process, examine the data, and monitor conditions such as the values of variables.
An event during program execution that prevents the program from continuing normally; generally, an error. Java methods raise exceptions using the throw keyword and handle exceptions using try, catch, and finally blocks. Expand The HP NonStop operating system network that extends the concept of fault tolerance to networks of geographically distributed NonStop systems.
H Hotspot virtual machine See Java Hotspot virtual machine. HP JDBC Driver for SQL/MP (JDBC/MP) The product that provides access to SQL/MP and conforms to the JDBC API. HP JDBC Driver for SQL/MX (JDBC/MX) The product that provides access to SQL/MX and conforms to the JDBC API. HP NonStop operating system The operating system for NonStop systems. HP NonStop Server for Java, based on Java 2 Standard Edition 5.
HTML See Hypertext Markup Language (HTML). HTTP See Hypertext Transfer Protocol (HTTP). hyperlink A reference (link) from a point in one hypertext document to a point in another document or another point in the same document. A browser usually displays a hyperlink in a different color, font, or style. When the user activates the link (usually by clicking on it with the mouse), the browser displays the target of the link.
members are the national standards organizations of 89 countries, including ANSI. Internet The network of many thousands of interconnected networks that use the TCP/IP networking communications protocol. It provides e-mail, file transfer, news, remote login, and access to thousands of databases.
J J2SE Development Kit (JDK) The development kit delivered with the J2SE platform. Contrast with J2SE Runtime Environment (JRE). See also, Java 2 Platform Standard Edition (J2SE). J2SE Runtime Environment (JRE) The Java virtual machine and the Core Packages. This is the standard Java environment that the java command invokes. Contrast with J2SE Development Kit (JDK). See also, Java 2 Platform Standard Edition (J2SE).
Java IDL See Java Interface Development Language (Java IDL) Java Interface Development Language (Java IDL) The library that supports CORBA and Java interoperability. For more information, see the Sun Microsystems Java IDL documentation (http://java.sun.com/products/jdk/idl/index.html). Java Naming and Directory Interface (JNDI) A standard extension to the Java platform, which provides Java technology-enabled application programs with a unified interface to multiple naming and directory services.
The Java Checker, which determines whether a problem with the Java virtual machine is due to an incorrect TCP/IP configuration. Also, the command to run the Java checker. javadoc The Java API documentation generator, which generates API documentation in HTML format from Java source code. Also, the command to run the Java API documentation generator.
JTS See Java Transaction Service (JTS). jts.Current A JTS interface that lets you define transaction boundaries. The NonStop Server for Java 5 includes an implementation of jts.Current. JVM See Java virtual machine (JVM). K key (1) A value used to identify a record in a database, derived by applying a fixed function to the record. The key is often simply one of the fields (a column if the database is considered as a table with records being rows).
(such as C or C++) for a specific platform. native method A non-Java routine (written in a language such as C or C++) that is called by a Java class. native2ascii The Native-to-ASCII converter, which converts a file with native-encoded characters into one with Unicode-encoded characters. Also, the command to run the Native-to-ASCII converter. node (1) An addressable device attached to a computer network. (2) A hypertext document.
Object Transaction Service (OTS) The transaction service standard adopted by the OMG and used as the model for JTS. ODBC See Open Database Connectivity (ODBC). OLTP See online transaction processing (OLTP). OMG See Object Management Group (OMG). online transaction processing (OLTP) A method of processing transactions in which entered transactions are immediately applied to the database.
process. A Pathsend process can be either a standard requester, which initiates application requests, or a nested server, which is configured as a server class but acts as a requester by making requests to other servers. Also called a Pathsend requester. Pathway CGI An extension to iTP Secure WebServer that provides CGI-like access to Pathway server classes. Extended in the NonStop Server for Java so that Java servlets can be invoked from a ServletServerClass, a special Pathway CGI server.
dialogue, character sets, sequencing of messages, and so on. Pthread A POSIX thread. public key An encryption key that is known to all parties. pure Java Java that relies only on the Core Packages, meaning that it can run anywhere. R RDF See Remote Duplicate Database Facility (RDF).
Scalable TCP/IP (SIP) A NonStop Server for Java feature that transparently provides a way to give scalability and persistence to a network server written in Java. serialization See Object Serialization. serialized object An object that has undergone object serialization. serialver The Serial Version Command, which returns the serialVersionUID of one or more classes. Also, the command to run the Serial Version Command.
Also referred to SQLJ Part 0 the "Database Language SQL—Part 10: Object Language Bindings (SQL/OLB) part of the ANSI SQL-2002 standard that allows static SQL statements to be embedded directly in a Java program. SQL/MP See HP NonStop SQL/MP. SQL/MX See HP NonStop SQL/MX. Standard Extension API An API outside the Core Packages for which Sun Microsystems, Inc. has defined and published an API standard. Some of the Standard Extensions might migrate into the Core Packages.
throw Java keyword used to raise an exception. throws Java keyword used to define the exceptions that a method can raise. TMF See HP NonStop Transaction Management Facility (TMF) TNS/E The hardware platform based on the Intel® Itanium® architecture and the HP NonStop operating system, and the software specific to that platform. All code is PIC (position independent code).
A draft standard for specifying an object on a network (such as a file, a newsgroup, or, with JDBC, a database). URLs are used extensively on the World Wide Web. HTML documents use them to specify the targets of hyperlinks. URL See uniform resource locator (URL). V virtual machine (VM) A self-contained operating environment that behaves as if it is a separate computer. See also Java virtual machine and Java Hotspot virtual machine. VM See virtual machine (VM).
© 2006 Hewlett-Packard Development Company L.P. All rights reserved.
Title Page | Contents | Prev | Next | Index | Glossary List of Examples Section Title Getting Started Implementation Specifics Transactions Profiling Applications Example Title(s) ● Verifying the Java Installation ● Tutorial: Running a Simple Program, HelloWorld ● Determining QIO Segment Size ● QIO Segment Moved to KSEG2 ● Identifying Swap Usage of a Process or Swap Requirement for a CPU ● NonStop Server for Java Transaction API-TMF by Default ● NonStop Server for Java Transaction API-TMF
Title Page | Contents| Prev | Next | Index | Glossary List of Figures Section Title Figure Title(s) Introduction to NonStop Server for Java 5 ● Java Based Products on NonStop Systems Implementation Specifics ● The Java Platform Debugger Architecture Structure ● Layout for Generations ● Profiling Environment Application Profiling NonStop Server for Java 5.0 Programmer's Reference (540385-001) © 2006 Hewlett-Packard Development Company L.P. All rights reserved.
Title Page | Contents | Prev | Next | Index | Glossary List of Tables Section Title Table Title(s) About This Manual ● Document Sections Introduction to the NonStop Server for Java ● Headless Support for Visual Feature Packages Installation and Configuration ● Subdirectories of the /usr/tandem/java Directory ● Demonstration Programs ● Floating-Point Ranges ● Double-Precision Ranges ● Summary of Garbage Collector Implementations Transactions ● Current Class Methods Application Profilin
Title Page | Contents | Glossary | Prev Index /ABCDEFGHIJKLMNOPQRSTUVWXYZ Special Characters /usr/tandem/java symbolic link _RLD_LIB_PATH environment variable A Abbreviations used in this document Abstract Window Toolkit (AWT) Additional files in NonStop Server for Java 5 API Enscribe Java JDK JDBC Pathsend Pathway Application server See BEA Weblogic Server Audience for this document Authentication service Authorization service AWT classes headless support for migrating B BEA Weblogic Server Beans See J
installation migration C C/C++ methods, calling from Java C++ compiler options CLASSPATH environment variable ENV serverclass attribute Compiler C++ Java HotSpot server javac tool Compiling Java source Compliance See also Deviations Concurrent low-pause collector Configuration for NonStop Server for Java for RMI Configuring, Pathway serverclass Conventions, notation CORBA See NonStop CORBA CPU, designating Creating Java source file swap files Current class methods D Data conversion for double-precision va
Debugging Java and JNI code JNI code overview starting the Java Debugger (jdb) tool transports Demonstration programs Deviations Directory, NonStop Server for Java contents of structure of DLLs _RLD_LIB_PATH environment variavble library path DNS (Domain Name Server) Document structure Domain Name Server (DNS) Double-precision values, converting Drivers, JDBC See JDBC drivers Dynamic-Link Libraries See DLLs E Enscribe API Environment variables See also _RLD_LIB_PATH, CLASSPATH, JREHOME, and PATH ENV Pathwa
C++ compiler options calling TNS floating-point functions converting IEEE implementation of linker options migration considerations G Garbage collection collector types, implementation general information heap layout managing generation size tuning Generation See Heap, Permanent generation, Tenured generation, Young generation Getting started H Headless support exception Java Print Service (JPS) implementation Heap generations layout manager, determining managing generation size setting tuning HelloWorld
I IEEE floating-point implementation Implementation specifics Incremental low-pause collector Installation changes in verifying Inspect debugger Inspect, Visual Installing NonStop Server for Java IPv6 support J JAAS See Java Authentication and Authorization Service (JAAS) JAR file locations Java, learning about Java 2 Platform Standard Edition (J2SE), JDK Java Abstract Window Toolkit (AWT) Java Authentication and Authorization Service (JAAS) See also migration Java based products descriptions documentation
threading considerations Java Print Service (JPS) java tool command-line options deviations running a debuggee example for tuning example of use Java Transaction API (JTA) Java Transaction Service (JTS) Java virtual machine (JVM) headless support tuning tools specification options, deviations verifying version JavaBeans javac tool javachk (Java Checker) jdb command-line options, deviations See also Java Debugger (jdb) tool JDBC drivers introduction demonstration programs type 2 type 4 JDK (Java Development
description setting setting, nonstandard location JTA (Java Transaction API) JToolkit for NonStop Servers JTS (Java Transaction Service) JVM See Java virtual machine (JVM) K Korn shell KSEG2 L Learning about Java about Open System Services about UNIX Library, native code Library files, naming Library path, DLLs using JNI Link, symbolic M Makefile for binding libraries into the JVM Memory management See also Heap moving QIO to KSEG2 Migrating applications AWT classes, use of floating-point support install
TNS/E systems Multithreaded programming thread scheduling threading considerations for Java code considerations for native code N NonStop CORBA NonStop Java Transaction API NonStop Server for Java Directory contents of structure of NonStop Server for Java library NonStop Server for Java Message Service NonStop Servlets for Java ServerPages NonStop SQL databases accessing with JDBC drivers storing procedures NonStop SQL/MX accessing with JDBC drivers stored procedure in Java NonStop Technical Library NonSto
PATHCOM prompt PATHMON process Pathsend API for Java Pathway API for Java Pathway serverclass Performance, application Permanent generation Prerequisites Print service Priority, threads Process name, designating Profiling using HPjmeter using the HPROF profiler agent POSIX threads binary files implementation migrating Pthreads See POSIX threads Q QIO R Related reading NonStop system computing documents Sun Microsystems documents Remote Method Invocation (RMI) configuring DNS and TCP/IP for Requirements co
HelloWorld program Java application launcher S Scalable TCP/IP Scheduling threads Shell See Open System Services (OSS) See also Korn shell Serverclass See Pathway serverclass Servlets See NonStop Servlets for Java ServerPages Signal handlers, limitations Sockets Java Checker (javachk) java command line RMI TCP/IP configuration, debugging TCP/IP transports thread-aware equivalent SQL databases accessing with JDBC drivers Stored Procedures in Java Stored Procedures in Java Structure of NonStop Server for Jav
managing size Threading See Multithreaded programming TMF (Transaction Management Facility) and JTA transaction jacket routines TNS floating point range in value calling functions TNS/E systems migrating applications to TNS/R systems Toolkit See JToolkit for NonStop Servers See also JoltBeans toolkit Total Information Manager (TIM) See NonStop Technical Library Tracing See TMF (Transaction Management Facility) Transactions concurrent Tuning application performance garbage collection JVM tools for related gu
JAVA_PTHREAD_MAX_TRANSACTIONS environment variable Verifying installation Visual Inspect Virtual Machine See Java virtual machine (JVM) vproc command C runtime heap manager java version W whence command -Wversion2 C++ dialect option compiling migration -Wversion3 C++ dialect option compiling migration Y Young generation description heap tuning managing size /ABCDEFGHIJKLMNOPQRSTUVWXYZ Title Page | Contents | Glossary | Prev NonStop Server for Java 5.