Contents | Index NonStop Server for Java Programmer's Reference Abstract This document describes the HP NonStop™ Server for Java™, based on Java 2 Platform, Standard Edition, SDK 1.4.2, 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. Product Version For TNS/R, HP NonStop Server for Java 4.
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.
Open Software Foundation, OSF, the OSF logo, OSF/1, OSF/Motif, and Motif are trademarks of the Open Software Foundation, Inc. OSF MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THE OSF MATERIAL PROVIDED HEREIN, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. OSF shall not be liable for errors contained herein or for incidental consequential damages in connection with the furnishing, performance, or use of this material.
Export of the information contained in this publication may require authorization from the U.S. Department of Commerce. HEWLETT-PACKARD DEVELOPMENT COMPANY L.P. SHALL NOT BE LIABLE FOR TECHNICAL OR EDITORIAL ERRORS OR OMISSIONS CONTAINED HEREIN. THE INFORMATION IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND AND IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCT WARRANTIES ARE SET FORTH IN THE EXPRESS LIMITED WARRANTY STATEMENTS ACCOMPANYING SUCH PRODUCTS.
Title Page NonStop Server for Java Programmer's Reference ● About This Document ❍ ● New and Changed Information ■ Feature Changes ■ Documentation Changes ❍ Is This Document for You? ❍ Document Structure ❍ Printing This Document ❍ Related Reading ■ NonStop Server for Java Library ■ NonStop System Computing Documents ■ Sun Microsystems Documents ❍ Notation Conventions ❍ Abbreviations Introduction to NonStop Server for Java 4 ❍ Java HotSpot Server Virtual Machine ❍ Java Software Dev
● ■ NonStop CORBA ■ NonStop Servlets for Java ServerPages ■ NonStop Server for Java Message Service (JMS) ■ NonStop Tuxedo: Jolt Client ■ SQLJ ■ 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 and Process Name with Which an Application Runs ❍ Configuring a Java Pathway Serverclass Installation and Configuration
❍ Additional Environment Variables ❍ Java Native Interface (JNI) ❍ ❍ ■ Calling C or C++ Methods from Java ■ Calling Java Methods from C or C++ ■ Using the compaq.
● ● ❍ GC Log Rotation ❍ Java GC Tuning ❍ Java GC Profiling ❍ 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.
❍ ■ Floating-Point Support ■ Using AWT Classes ■ POSIX Threads ■ Directories of Binary Files Moved ■ Compling C++ Native Code with the -Wversion3 Option ■ JAAS Enhancement Migrating Applications to TNS/E Systems ● Glossary ● List of Examples ● List of Figures ● List of Tables ● Index Title Page NonStop Server for Java Programmer's Reference (529774-002) © 2010 Hewlett-Packard Development Company L.P. All rights reserved.
Title Page | Contents | Index | Glossary | Prev | Next 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 Programmer's Reference differs from the previous edition (part number 526238-001) for NonStop Server for Java release versi
● Added ThreadDumpPath support under Headless Support. ● Added the following new sections under Implementation Specifics: - Java GC Profiling - GC Log Rotation ● Updated the note under JREHOME. ● Updated the note under Verifying the Java Installation. Changes to the 529774-0001 manual are discussed in the following topics: ● Feature Changes ● Documentation Changes Feature Changes Features Introduced in Version 2.
Features Introduced in This Edition for Version 1.0 for TNS/E Systems ● The installation directory of NonStop Server for Java 4 on TNS/E systems differs from the installation directory on TNS/R systems. For the strategy that governs the directory name and the symbolic link that points to the installation directory, see the topic Symbolic Link. ● Dynamic-Link libraries (DLLs) are used with NonStop Server for Java 4 on TNS/E systems instead of the static libraries used on TNS/R systems.
or provide detailed information about the J2SE SDK. For experienced Java programmers who want to access SQL databases with NonStop SQL/MP or NonStop SQL/MX, this manual refers you to the JDBC Driver for SQL/MP Programmer's Reference and the JDBC Driver for SQL/MX Programmer's Reference, respectively. For Java programmers who want to determine application performance, this manual describes how to use the HPROF profiler agent to obtain run-time information for a NonStop Server for Java 4 program.
Implementation Specifics Explains issues and features that are unique to the NonStop Server for Java 4 implementation, such as JNI, IEEE floating-point implementation, Java Print Service, multithreading programming, JavaBeans, remote debugging, garbage collectors, and so forth. Transactions Explains how the NonStop Server for Java 4 lets you work with transactions.
Related Reading For background information about the features described in this guide, see the following documents: ● NonStop Server for Java Library ● NonStop System Computing Documents ● Sun Microsystems Documents Note: White papers might also be available with the NonStop Server for Java documentation. To find them, see the NonStop Technical Library.
❍ JToolkit for NonStop Servers Programmer's Reference This documentation describes the JToolkit for NonStop Servers, a set of additional features that work in conjunction with NonStop Server for Java. These features include: ■ Enscribe API for Java, which enables an application programmer to perform operations on Enscribe files. ■ Pathsend API for Java, which provides support for creating Pathway clients by using the Pathsend interface.
❍ Open System Services Installation Guide ● Explains how to install the OSS environment. iTP Secure WebServer System Administrator's Guide ● Has a section on programming servlets. Using iTP Secure WebServer and the NonStop Server for Java, you can write a servlet that accesses a NonStop SQL database with SQL/MP or SQL/MX.
● Presents a general introduction to the Spooler subsystem and describes the Spooler utilities—Peruse, Spoolcom, Font, RPSetup—presenting the complete syntax for these utilities. SQL/MP Documents The NonStop Server for Java includes JDBC drivers that enable Java programs to interact with NonStop SQL/MP databases. ❍ Introduction to SQL/MP ❍ Provides an overview of the SQL/MP product. SQL/MP Glossary ❍ Explains the terminology used in the SQL/MP documentation.
NonStop Server for Java includes JDBC drivers that enable Java programs to interact with NonStop SQL databases with SQL/MX. ❍ SQL Supplement for H-series RVUs ❍ This supplement provides information about HP NonStop SQL/MP" and HP NonStop SQL/MX that is specific to H-series release version updates (RVUs). The currently published SQL/MP and SQL/MX manuals are intended for G-series users. To use G-series manuals, H-series users should review and understand the exceptions noted in this supplement.
❍ Describes the SQL/MX data structures and operations needed for the knowledge-discovery process. SQL/MX Queuing and Publish/Subscribe Services ● Describes how SQL/MX integrates transactional queuing and publish/subscribe services into its database infrastructure. TCP/IP (Parallel Library) Configuration and Management Manual ● Describes how to configure and manage the Parallel Library TCP/IP subsystem (see TCP/IP).
Sun Microsystems Documents Note: Sun Microsystems Java 2 SDK, Standard Edition Documentation Version 1.4.2 is provided on the NonStop Server for Java 4 product distribution CD in a .zip file for your convenience in case you cannot get Java documentation from the Sun Microsystems Web sites. The links to Sun Java documentation in the NonStop Server for Java 4 documentation set go to the Sun Microsystems web sites, which provide more extensive documentation about SDK 1.4.2.
Italic computer type letters in syntax descriptions or text indicate variable items that you supply. For example: pathname [ ] Brackets Brackets enclose optional syntax items. For example: jdb [options] A group of items enclosed in brackets is a list from which you can choose one item or none. Items are separated by vertical lines. For example: where [threadID|all] { } Braces A group of items enclosed in braces is a list from which you must choose one item.
Abbreviations ANSI. American National Standards Institute AWT. Abstract Window Toolkit API. application program interface ASCII. American Standard Code for Information Interchange BDK. JavaBeans Development Kit CD. compact disk CGI. Common Gateway Interface COBOL. Common Business-Oriented Language CORBA. Common Object Request Broker Architecture CPU. central processing unit DDL. Data Definition Language DNS. Domain Name Server DSA. digital signature algorithm GUI. graphical user interface HTML.
JDBC. Java Database Connectivity JDBC/MP. JDBC Driver for SQL/MP JDBC/MX. JDBC Driver for SQL/MX JNDI. Java Naming and Directory Interface JNI. Java Native Interface JPS. Java Print Service JRE. Java Run-time Environment JTA. Java Transaction API JTS. Java Transaction Service JVMPI. Java Virtual Machine Profiler Interface LAN. local area network NonStop TS/MP. NonStop Transaction Services/MP ODBC. Open Database Connectivity OLTP. Online Transaction Processing OMG. Object Management Group OSS.
SQL/MX. Structured Query Language/MX TACL. Tandem Advanced Command Language TCP/IP. Transmission Control Protocol/Internet Protocol TMF. Transaction Management Facility URL. uniform resource locator VM. virtual machine WWW. World Wide Web Title Page | Contents | Index | Glossary | Prev | Next NonStop Server for Java Programmer's Reference (529774-002) © 2010 Hewlett-Packard Development Company L.P. All rights reserved.
Title Page | Contents | Index | Glossary | Prev | Next Introduction to NonStop Server for Java 4 The HP NonStop Server for Java 4 is a Java environment that supports compact, concurrent, dynamic, portable programs for the enterprise server. The NonStop Server for Java 4 requires the HP NonStop Open System Services (OSS) environment. The NonStop Server for Java 4 uses the HP NonStop operating system to add the NonStop system fundamentals of scalability and program persistence to the Java environment.
● Java Naming and Directory Interface (JNDI) Highlights ● IPv6 Support ● Associated Java Based Products Java HotSpot Server Virtual Machine The NonStop Server for Java 4 implements the HotSpot server compiler and the run-time Java HotSpot virtual machine. The product number is T2766. With this number the product's informal name became the NonStop Server for Java 4. The HotSpot Server Java VM, provides a fast, reliable technology for the enterprise server environment.
Package Description java.awt and AWT-related packages Contains all of the classes for creating user interfaces and for painting graphics and images. javax.accessibility Defines a contract between user interface components and technology that provides access to those components. javax.swing and Swing-related packages Provides a set of "lightweight" (all-Java language) components that, as much as possible, work the same on all platforms.
IPv6 Support With the J2SDK-JRE 1.4 release, Sun Microsystems has included Internet Protocol version (IPv6) support in Java Networking. This support makes J2SE compliant with the following standards (RFCs): ● RFC2373: IPv6 Addressing Architecture ● RFC 2553: BasicSocket Interface Extensions for IPv6 ● RFC 2732: Format for Literal IPv6 Addresses in URLs Since the J2SDK does not support raw sockets, RFC 2292 (Advanced Sockets API for IPv6) is not supported in this release.
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 for portability to a large number of operating platforms supporting the Java platform. On properly configured NonStop servers, the WebLogic Server runs unchanged just like on other platforms.
For detailed information on HP drivers that provide to access SQL/MX or SQL/MP, see the JDBC driver manuals in the NonStop Technical Library. JToolkit for NonStop Servers The HP JToolkit for NonStop Servers includes three APIs as tools for using Java programs to access legacy applications on NonStop servers. JToolkit also includes Scalable TCP/IP (SIP) for developing network servers written in Java. The following paragraphs introduce these tools.
NonStop CORBA HP NonStop CORBA provides the Common Object Request Broker Architecture (CORBA) infrastructure and development environment that enables you to develop distributed object applications and components that run on the NonStop operating system. The NonStop CORBA infrastructure provides the services and tools to help software developers build object-oriented components and distributed object systems using either the C++ or the Java programming language.
on NonStop servers. NSJMS enables scalability and load distribution through horizontal partitioning and fault-tolerance through process-pair technology. Features and functions of NSJMS include: ● Implements the JMS API on NonStop systems. Uses the publish and subscribe features of NonStop SQL/MX. ● Uses a Java Naming and Directory Interface (JNDI) environment that allows access to NSJMS connection factories, and queue objects or topic objects.
SQLJ Java applications that contain embedded SQL statements are known as SQLJ programs. SQLJ Part 0 is part of the SQLJ standard that has been incorporated into the ANSI SQL-2002 standard. SQLJ supports statically compiled SQL statements in addition to dynamically executed SQL statements in JDBC. SQLJ is available only on TNS/R systems. You can use SQLJ programs written to this standard as supported by NonStop SQL/MX.
Title Page | Contents | Index | Glossary | Prev | Next 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.
useful because the NonStop Server for Java 4 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. The user interface in the OSS environment is called the OSS "shell." The OSS shell is a program that interprets the commands you enter, runs the programs you ask for, and sends output to your screen.
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. The HelloWorld sample, shown later in this section, uses this method.
displays the product versions of the java binary file and any products bound into the java binary. For the version of the NonStop Server for Java 4 installation, look for the product number T2766 following a line that begins Version Procedure: The displayed version identifier changes with every update of NonStop Server for Java 4. The version identifier has the following form: TNS/R systems: T2766Vnn TNS/E systems: T2766Hnn The following listing is an example from a TNS/R system.
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.
3. Set the PATH Environment Variable. Add the directory where the NonStop Server for Java 4 executable file is installed to your PATH environment variable. For the standard installation, type the following command at the OSS prompt: $export PATH=/usr/tandem/java/bin:$PATH If the NonStop Server for Java 4 is installed in a nonstandard location, /test_dir, type: $export PATH=/test_dir/java/bin:$PATH 4. Check Your Path Settings.
$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. Your Java application displays the message, "Hello World!". Specifying the CPU and Process Name with Which an Application Runs You can specify which CPU an application process runs in and its process name by using options of the run utility. The run utility starts OSS programs with specific attributes.
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. Typically, the attribute settings would be put in a configuration file, but the examples here show setting them in the OSS environment.
Server for Java 1.4.2 installation is /usr/tandem. 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 | Index | Glossary | Prev | Next 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 4 installation, see Verifying a Java Installation.
● 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. Creating Larger or Additional Swap Files HP recommends a total swap files size of 512 MB (1024 Extents, 255 MaxExtents) for each processor that runs the Java virtual machine (JVM).
option when calling an SDK tool (such as java or javac) or by setting the CLASSPATH environment variable. The preferred method is using the -classpath option because you can set that option individually for each application without affecting other applications and without other applications modifying the option's value. Syntax sdkTool -classpath classpath1:classpath2... -orexport CLASSPATH=classpath1:classpath2... sdkTool A command-line tool, such as java or javac.
environment variable so that the Java runtime can find the class named Cool.class, you would use the following command to set and export the CLASSPATH environment variable and then run Java. To run that application, you could use the following commands: $ export CLASSPATH=/java/MyClasses $ java utility.myapp.Cool For further information about setting class path, see the documentation provided by Sun Microsystems (http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/classpath.html).
_RLD_LIB_PATH (TNS/E Only) The _RLD_LIB_PATH environment variable, used only on the TNS/E platform, 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.
1.4.2 again: $ cd /usr/tandem $ rm java $ ln -s /usr/tandem/nssjava/jdk142_v20 java The symbolic link is always put in the directory where NonStop Server for Java 4 is installed, so if you use the -s option to specify an alternative installation directory during the unpaxing step, the symbolic link is install_dir/java instead of /usr/tandem/java.
Specifying Tasks Provided by the Makefile (TNS/R Only) The Makefile defines several rules, where each rule performs a different task. A rule appears as a command line argument to make, for example: $ make javasqlcomp Runs the javasqlcomp rule that SQL compiles the java executable if the NonStop SQL/MP product is installed on the system. The rules in the Makefile for tasks that you might want to perform are: make Invokes the default "install" rule that relinks a new java executable file.
the start and the end of the make process. You may want to run this step explicitly if a prior run of make failed to complete successfully. Variables in the Makefile (TNS/R Only) The top part of the Makefile defines variables whose values you might need to change before using the Makefile. You can change make command variables either by editing the Makefile or, for a less permanent change, by setting the value of the variables on the make command line to override the value in the Makefile.
variable on the make command line. Valid values are: -noverbose The default. If warnings occur in this mode, you are issued the message, Some NLD warnings were suppressed because the -verbose option was off, and given instructions about how to turn the verbose option on if the warnings are unexpected. Not all warnings are a problem, although some can lead to cryptic error messages when trying to run the java executable. -verbose Turns on verbose NLD output.
working directory is /h/testdir. The backslash (\) character is a continuation character and is not required if you type the command on one line. Example 3 sets CUSTLIB_DIRS to more than one directory and uses a wildcard in one directory. $ make CUSTLIB_DIRS="/h/testdir /h/lib/*" This command creates a java executable in the directory that TARGET_JAVA_DIR is set to in the Makefile. It uses all library files found in /h/testdir and in any directories directly under /h/lib.
/bin Executable binary files that make up the SDK. These files include tools that are not part of the Java Runtime Environment, such as javac and javah. /demo Additional subdirectories, each containing a README file and a complete example. /include C-language header files that support native code programming using the Java Native Interface and the Java Virtual Machine Interface. /install The javachk file and for TNS/R only a Makefile that can be used to relink the JVM.
Title Page | Contents | Index | Glossary | Prev | Next NonStop Server for Java Programmer's Reference (529774-002) © 2010 Hewlett-Packard Development Company L.P. All rights reserved.
Title Page | Contents | Index | Glossary | Prev | Next Implementation Specifics This section explains these subjects regarding HP implementations of NonStop Server for Java, based on Java 2 Platform, Standard Edition, SDK 1.4.
While the Sun Microsystems documentation for the reference implementation states that you must set the system property –Djava.awt.headless=true to run a headless JVM, setting this system property is unnecessary for NonStop Server for Java 4. ThreadDumpPath support By default, sending the Java process a SIGQUIT signal results in a thread dump being written to stdout.
● On TNS/E systems, you must set the _RLD_LIB_PATH environment variable to point the location of the user DLLs. export _RLD_LIB_PATH=dll-path[:dll_pathn]... where: dll-path and dll-pathn are the directories where the user DLLs reside. For example, if the user DLLs are in the directory /home/mydll ● ● export _RLD_LIB_PATH=/home/mydll Multithreaded native C or C++ routines must use the same Pthread library that the JVM uses, but HP recommends that any multithreaded code be written in Java.
● unless you have a JNI_OnLoad function or you use the -Dcompaq.liblist option when your run java. On TNS/E systems, the library name (name) that is passed to the System.loadLibrary method is converted to: libname.so to create the name of the DLL to be loaded. For example, the name stats passed to the System.loadLibrary method, is converted to libstats.so. The remainder of this subsection explains: ● Calling C or C++ Methods from Java ● Calling Java Methods from C or C++ ● Using the compaq.
You are done. 5. On TNS/R systems, place the newly created library (.a or .lib) file in install_dir/java_public_lib_jdk142. 6. On TNS/R systems, relink the Java virtual machine (JVM) by using the install_dir/install/Makefile. For more information about the Makefile, see Using the Makefile to Link in Native Libraries. The javahjni demo shows an example of how to create a library file and, only on TNS/R systems, link the file in with a java executable.
● Execute java and set the compaq.liblist system property to refer to the JavaLibList file generated during the make operation. For example: $ java -Dcompaq.liblist=\ /usr/tandem/java/bin/JavaLibList class-name ● Edit the JavaLibList file, if necessary. When make is invoked to link native libraries into the java executable, the Makefile creates a special file called JavaLibList in the same directory as the java executable.
Linker Options When building native libraries, you must use the following linker option: –set floattype IEEE_float How to Create Your Own Library of Native Code The javahjni demonstration program that comes with NonStop Server for Java 4 shows an example of a user Makefile that builds a library file from user source code. For TNS/R, this example uses the Nonstop Server for Java 4 Makefile to build a new java executable with the user's native code linked in.
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 4 is multithreaded. It uses Standard POSIX Threads (product number T1248), 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, one thread can never be preempted by another thread.
private final static int NUMRUNNERS = 2; public static void main(String[] args) { SelfishRunner[] runners=new SelfishRunner[NUMRUNNERS]; 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.
Threading Considerations for Java Code A thread-aware function blocks only the thread calling that function, rather than blocking all threads in the process. At the Java program level, the following blocking operations are thread-aware and, therefore, block only the thread performing the operation rather than blocking all threads in Java: ● Socket I/O ● Terminal I/O ● Pipe I/O ● TMF transactions (com.tandem.
If you create a thread whose only purpose is to run a certain task, the thread-creation overhead makes the task run marginally slower than the same task being performed without creating the thread. ● The thread-scheduling algorithm is not preemptive. A thread executes until it explicitly yields. For more information, see the discussion of Thread Scheduling.
● javax.print.event Java Authentication and Authorization Service (JAAS) The Java Authentication and Authorization Service (JAAS) is integrated into the NonStop Server for Java 4. JAAS augments the core Java 2 platform with facilities to authenticate and enforce access controls upon users. JAAS, also, has the ability to enforce access controls based on who runs the code. JAAS implements a Java version of the standard Pluggable Authentication Module (PAM) framework.
(http://java.sun.com/j2se/1.4.2 /docs/guide/beans/index.html). Debugging Java Programs This subsection discusses the debugger architecture and how to run the programs involved in debugging Java applications.
For more details, see the Sun Microsystems Java Platform Debugger Architecture Documentation (http://java.sun.com/products/jpda/doc/). 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.
Transports A JPDA transport is a form of inter-process communication used by a debugger application and the debuggee. NonStop Server for Java 4 provides a socket transport that uses the standard TCP/IP sockets to communicate between debugger and the debuggee. NonStop Server for Java 4 defaults to socket transport. NonStop Server for Java 4 does not support shared memory transport.
● 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.SocketAttach:hostname=hostname,port=portnum Further Information If you are using a GUI debugger, refer to the vendors' documentation to configure the debugger to communicate with the debuggee.
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 an 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.
Note: The -tclient option is not valid with NonStop Server for Java 4. -tserv Runs the application in the Java HotSpot server VM. Note: -tserv is the default option for NonStop Server for Java 4; therefore, specifying -tserv is optional. 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.
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.
-XX:MaxPermSize Sets the maximum size for the permanent generation. The default value for MaxPermSize is 32 MB. The initial size of the permanent generation PermSize option is ignored. Note: At initialization time, the maximum size of the combined young and tenured generations and the maximum size of permanent generation are allocated.
Specifies an adaptive size policy. This option applies only for a parallel collector and, therefore, is disabled. If you specify this option, the JVM exits with the error: -XX:+UseAdaptiveSizePolicy option is not supported on this platform. -XX:+AggressiveHeap Obtains the platform resources and configures the heap layout accordingly, uses parallel collector, and enables AdaptiveSizePolicy option. This option applies only for a parallel collector and, therefore, is disabled.
-XX:GCLogLimits=M,N where, M is a non-negative integer that specifies the number of rotating GC log records per file. Each GC log record corresponds to a GC event. A value of 0 specifies an unlimited number of GC log records per file. N is a non-negative integer that specifies the maximum number of rotating GC log files. A value of 0 specifies an unlimited number of files. You must use both M and N when you use the -XX:GCLogLimits=M,N option.
● ● ● XX:NewSize=nn The lower size bound. XX:MaxNewSize=nn The upper size bound. XX:SurvivorRatio=nn Tune the survivor spaces (illustrated in the Layout for Generations). For example: java Xms512m Xmx512m XX:NewSize=256m XX:MaxNewSize=256m \ XX:SurvivorRatio=2 class These options inform the JVM to set the initial size of the heap to 512 MB, the maximum heap to 512 MB, the new generation to 256 MB (128 MB belongs to Eden and 2x64 MB survivor) and the old generation to 256 MB.
Java GC Profiling The NonStop Server for Java 1.4.2 supports an HP proprietary option, -Xverbosegc to capture the Java application's GC activity. The output of this tool can be used to view and analyze the detailed statistics in an offline mode using HPjmeter. The -Xverbosegc option prints detailed information about the spaces within the Java heap before and after the garbage collection.
NonStop system. For a processor on a NonStop system configured with 4 GB of physical memory, 512 MB are used for the QIO segment. In addition, 512 MB of the user address space are reserved for the QIO segment, if the process is also a QIO client. To overcome the problem of losing address space to QIO, you can configure the QIO segment so that the segment is moved to a special region of the privileged address space, called the KSEG2 region.
Segment Size........... MDs in Use............. Max MDs Used........... Last Fail Size......... Current Pool Size...... Max Pool Size.......... Current Pool Alloc..... Current Pool Frags..... 134217728 1248 2357 0 16774788 Initial Pool Size...... 16776992 Min Pool Size.......... 4516992 Max Pool Alloc......... 375 Max Pool Frags......... 16776992 16776992 4715520 382 The QIO segments on this system (\GOBLIN) have been moved to KSEG2 based on the value of the segment type.
KMS.SWAPFILE = 0 $DATA03.SWAP.CPU0B STOP . . . KMS.SWAPFILE = 5 $SWAP45.SWAP4.CPU05 NSK-status swap-usage 1,423 ,detail SYSTEM : \GOBLIN LOGTIME : March 19, 2004 02:50:29 TYPE : (E=Extensible S=Shared O=Owner) (CPU Page size is 16384 Bytes) _____________________________________________________________________________ Process Pri User-ID Program File Name $JSV1 1,423 155 103,43 $DATA11.ZYQ0000T.
NonStop Server for Java Programmer's Reference (529774-002) © 2010 Hewlett-Packard Development Company L.P. All rights reserved.
Title Page | Contents | Index | Glossary | Prev | Next Transactions The NonStop Server for Java 4 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.
Current tx = new Current(); // 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.
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.
● The third example requests NonStop Server for Java Transaction API-JTS 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 ...
NonStop Server for Java Transaction API-JTS The following code gets a reference to UserTransaction based on JTS. It then starts and ends a transaction. import javax.transaction.UserTransaction; 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.
Title Page | Contents | Index | Glossary | Prev | Next 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 4 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.
HEAP dump Lists all live object instances in the heap. The list can get very long. HEAP sites Lists the total allocations per class, array, and so forth. MONITOR contention Lists the times spent by waiting threads. HPROF writes the information about the options to an output file in either ASCII or binary format. The default name of the output file is: java.hprof.
HPROF Output File Three HPROF examples appear below: CPU samples, CPU times, and a heap for the sites profile. For details about using HPROF output and interpreting these examples, search for HPROF on the Web. Also, see the paper Diagnose common runtime problems with hprof (http://www.javaworld.com/javaworld/jw-12-2001/jw-1207-hprof.html). Example 1: cpu=samples TRACE 62: WorkClass.doSomeWork(WorkClass.java:12) TestClass.getNew(TestClass.java:16) ...........
java command: java -Xrunhprof:special Note: These options are only for cpu=samples. The only and skip options can be repeated to cover multiple threads, but not mixed. You can start or stop sampling at only once. period=num ms Specifies the time between samples. The default interval is 100 milliseconds. only=thread-name Sets the sample to only the given thread. You can repeat this option to specify more than one thread. A thread specified in this option cannot also be specified in the skip option.
❍ ● You can send a SIGQUIT signal to the JVM by typing $ kill -QUIT java-process-id You might need to specify the dump exit option as DOE=n to avoid an automatically generated dump. ❍ Alternatively, type a control key plus a backslash (Ctrl+\), which generates a SIGQUIT signal in the OSS environment. Avoid using the default profiling option, heap=all, which produces both the dump profile and sites profile, because this option skews the sites profile.
For more information about java, see the NonStop Server for Java Tools Reference Pages. Title Page | Contents | Index | Glossary | Prev | Next NonStop Server for Java Programmer's Reference (529774-002) © 2010 Hewlett-Packard Development Company L.P. All rights reserved.
Title Page | Contents | Index | Glossary | Prev | Next Migrating Applications This section is organized into two major topics: ● Migrating to Version 2 of NonStop Server for Java 4 on TNS/R Systems ● Migrating Applications to TNS/E Systems Migrating to Version 2 of NonStop Server for Java 4 on TNS/R Systems This section describes the changes you need to make to migrate applications that use earlier versions of the NonStop Server for Java (software product number T0083) and earlier versions of NonStop Ser
JAAS Enhancement Applicable N/A For information about product changes for this version, see New and Changed Information. For users migrating from NonStop Server for Java 3.1.x or earlier versions, also see "New and Changed Information" in the NonStop Server for Java Programmer's Reference under NonStop Server for Java 4.0 in the NonStop Technical Library.
For these reasons, beginning with version 1 of the NonStop Server for Java 4, HP recommends that the JAR files associated with Java based products remain in a product-specific directory. When you follow this recommendation, you must include the JAR files of the Java based product in either your CLASSPATH environment variable setting or the -classpath (-cp) command-line argument.
name of the class being the name of the property) to this file. Users also set the value of the property to IEEE_FP to indicate that they wanted IEEE floating-point values passed to their JNI code or TANDEM_FP to indicate that they wanted TNS floating-point values passed to their JNI code. Beginning with version 1 of the NonStop Server for Java 4, the product does not convert any floating-point values passed through JNI calls to TNS floating-point values.
Using AWT Classes If your Java programs use AWT classes with NonStop Server for Java 3.1.x or earlier versions , change your program code to catch a HeadlessException rather than an UnsupportedClassException. Because the NonStop operating system does not provide support for windowing operations, previous versions of NonStop Server for Java supported only those Abstract Windowing Toolkit (AWT) classes and methods that did not require a display, keyboard, sound, or mouse operation.
Directories of Binary Files Moved If your NonStop Server for Java programs have references to bin/oss/posix_threads in Pathway configuration files or elsewhere, you must change them to use the NonStop Server for Java 4 installation bin directory. In previous versions of NonStop Server for Java, the bin and jre/bin directories contained a shell script that ran the real executable that was located in bin/oss/posix_threads.
JAAS Enhancement In NonStop Server for Java 3.x and earlier versions, the Java Authentication and Authorization Service (JAAS) was an optional package (extension). JAAS is integrated into the NonStop Server for Java 4. JAAS augments the core Java 2 platform with APIs that allow authenticating users and enforcing access controls upon users. Traditionally, Java 2 provided code-source-based access controls (access controls based on where the code originated and who signed the code).
● ● because the NonStop Server for Java 4 is built with a C++ version neutral flag (the -set CPlusPlusDialect neutral option for the linker). The default heap and stack sizes have changed. ❍ On TNSE/systems, the default stack size is 512 KB; the minimum stack size is 64 KB. ❍ On TNSE/systems, the initial heap size is 18.25 MB; the default maximum heap size is 64 MB. On TNS/E the NonStop Server for Java 4 does not use its own special version of dlfcn.h.
Title Page | Contents | Index | Prev | Next 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.
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.
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. The NonStop Server for Java 4 supports CGI-like use of Java using servlets with iTP Secure WebServer. See also Pathway CGI. Common Object Request Broker Architecture (CORBA).
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.
Expand The HP NonStop operating system network that extends the concept of fault tolerance to networks of geographically distributed NonStop systems. If the network is properly designed, communication paths are constantly available even if there is a single line failure or component failure. expandability See scalability. F fault tolerance The ability of a computer system to continue processing during and after a single fault (the failure of a system component) without the loss of data or function.
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, SDK 1.4.2 The formal name of the NonStop Server for Java product whose Java HotSpot virtual machine conforms to the Java 2 Standard Edition, SDK 1.4.2. See also NonStop Server for Java 4. HP NonStop Server for Java Transaction API An implementation of Java Transaction API (JTA).
hypertext A collection of documents (nodes) containing cross-references or links that, with the aid of an interactive browser, allow a reader to move easily from one document to another. Hypertext Mark-up Language (HTML) A hypertext document format used on the World Wide Web. Hypertext Transfer Protocol (HTTP) The client-server TCP/IP protocol used on the World Wide Web for the exchange of HTML documents. I IEC See International Electrotechnical Commission (IEC).
❍ ❍ The ability to communicate, execute programs, or transfer data between dissimilar environments, including among systems from multiple vendors or with multiple versions of operating systems from the same vendor. HP documents often use the term connectivity in this context, while other vendors use connectivity to mean hardware compatibility. Within a NonStop system node, the ability to use the features or facilities of one environment from another.
functionality for developing multi-tiered, Web-based applications. Java 2 Platform, Standard Edition (J2SE platform) The core Java technology platform. For more information, see the Sun Microsystems SDK 1.4.2 Documentation. Java 2 SDK, Enterprise Edition Sun Microsystems' implementation of the J2EE platform. This implementation provides an operational definition of the J2EE platform.
The transaction API, modeled on OMG's OTS. The NonStop Server for Java 4 includes an implementation of the jts.Current interface. Java virtual machine (JVM) The process that loads, links, verifies, and interprets Java bytecode. The NonStop Server for Java 4 implements the Java HotSpot Server virtual machine. JavaBeans A platform-neutral component architecture supported by Java, intended for developing or assembling software for multiple hardware and operating system environments.
JDBC/MX See HP JDBC Driver for SQL/MX (JDBC/MX). JNDI See Java Naming and Directory Interface (JNDI). JNI See Java Native Interface (JNI). jre The Java run-time environment, which executes Java bytecode. JTA See Java Transaction API (JTA). JTS See Java Transaction Service (JTS). jts.Current A JTS interface that lets you define transaction boundaries. The NonStop Server for Java 4 includes an implementation of jts.Current. JVM See Java virtual machine (JVM).
adjacent buildings. Ethernet is an example of a LAN. M macro A sequence of commands that can contain dummy arguments. When the macro runs, actual parameters are substituted for the dummy arguments. N native In the context of Java programming, something written in a language other than Java (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.
O Object Management Group (OMG) The standards body that defined CORBA. Object Serialization A Sun Microsystems procedure that extends the core Java Input/Output classes with support for objects by supporting the following: ❍ The encoding of objects, and the objects reachable from them, into a stream of bytes ❍ The complementary reconstruction of the object graph from the stream Object Serialization is used for lightweight persistence and for communication by means of sockets or RMI.
OTS See Object Transaction Service (OTS). P package A collection of related classes; for example, JDBC. Pathsend API The application program interface to a Pathway system that enables a Pathsend process to communicate with a server process. Pathsend process A client (requester) process that uses the Pathsend interface to communicate with a server process.
issues of portability, interoperability, and uniformity of user interfaces. POSIX See Portable Operating System Interface X (POSIX). private key An encryption key that is not known to all parties. protocol A set of formal rules for transmitting data, especially across a network. Low-level protocols define electrical and physical standards, bit-ordering, byte-ordering, and the transmission, error detection, and error correction of the bit stream.
current host. S scalability The ability to increase the size and processing power of an online transaction processing system by adding processors and devices to a system, systems to a network, and so on, and to do so easily and transparently without bringing systems down. Sometimes called expandability. 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. SDK See software development kit (SDK).
The command interpreter used to pass commands to an operating system; the part of the operating system that is an interface to the outside world. SIP See Scalable TCP/IP (SIP). skeleton In RMI, the complement of the stub. Together, skeletons and stubs form the interface between the RMI services and the code that calls and implements remote objects. socket A logical connection between two application programs across a TCP/IP network.
❍ A local procedure in a remote procedure call (RPC). A client calls the stub to perform a task, not necessarily aware that the RPC is involved. The stub transmits parameters over the network to the server and returns results to the caller. T TACL See HP Tandem Advanced Command Language (TACL). TCP/IP See Transmission Control Protocol/Internet Protocol (TCP/IP). thread A task that is separately dispatched and that represents a sequential flow of control within a process.
heterogeneous networks of systems. TS/MP See HP NonStop TS/MP. U Unicode A character-coding scheme designed to be an extension of ASCII. By using 16 bits for each character (rather than ASCII's 7), Unicode can represent almost every character of every language and many symbols (such as "&") in an internationally standard way, eliminating the complexity of incompatible extended character sets and code pages. Unicode's first 128 codes correspond to those of standard ASCII.
A shell script that sets up the proper execution environment and then executes the binary file that corresponds to the shell's name. WWW See World Wide Web (WWW). ABCDEFGHIJKLMNOPQRSTUWXYZ Title Page | Contents | Index | Prev | Next NonStop Server for Java Programmer's Reference (529774-002) © 2010 Hewlett-Packard Development Company L.P. All rights reserved.
Title Page | Contents | Index | Glossary | Prev | Next List of Examples Section Title Example Title(s) Getting Started ● Verifying the Java Installation ● Tutorial: Running a Simple Program, HelloWorld Installation and Configuration ● Examples of Using the Customer Makefile Implementation Specifics ● 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 ● NonS
Title Page | Contents | Index | Glossary | Prev | Next List of Figures Section Title Figure Title(s) Introduction to NonStop Server for Java 4 ● 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 Programmer's Reference (529774-002) © 2010 Hewlett-Packard Development Company L.P. All rights reserved.
Title Page | Contents | Index | Glossary | Prev | Next 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 4 API Enscribe Java SDK 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
migration Binding libraries into the JVM 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 SQL/MP 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 conversio
Databases, storing procedures 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
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), SDK Java Abstract Window Toolkit (AWT) Java Authentication and Authorization Service (JAAS) See also migration Java based products descriptions documentatio
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) binding libraries into 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 linking in ty
JREHOME environment variable 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 Libraries, binding into the JVM Library, native code Library files, naming Library path, DLLs using JNI Link, symbolic Linking in native libraries M Makefile for binding libraries into the JVM Memory management See also Heap movi
JAR file locations, user-provided POSIX threads 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 accessing with SQLJ storing procedures NonStop SQL/MX accessing with JD
P Parallel collector PATH environment variable checking the setting setting example 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 doc
installation RMI See Remote Method Invocation (RMI) Running designating CPU designating process name 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
T TCP/IP configuration for RMI scalable Tenured generation description 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 Tun
U UNIX tutorials V Variables custom Makefile environment 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
© 2010 Hewlett-Packard Development Company L.P. All rights reserved.