|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--com.ibm.as400.access.JavaApplicationCall
The JavaApplicationCall class provides an easy way to run Java applications on the AS/400's Java Virtual Machine from a client. The client Java program specifies the environment, program to run and program parameters. The program then runs on the AS/400's Java Virtual Machine. Text based input/output is provided by JavaApplicationCall. Input can be sent to the Java program which will receive the input via standard input. Standard output and standard error text generated by the Java program are received by JavaApplicationCall and made available to the calling program. JavaApplicationCall does not support displaying the graphical user interface of the AS/400 Java program on the clinet. Other Java facilities, such as remote AWT must be used to display graphical interfaces on the client.
Sockets are used to send Standard input, output and error between client and server. The port used can be set via setPort(). The default port is 2850, 2851 and 2852. If the port is in use, this class searches for available ports if findPort is true. Standard input, output and error are not transported across a secure connection even when the rest of the Toolbox is using SSL.
For example, supposed Java class HelloWorld resides in directory /javatest on the AS/400. The following calls this program and receives program output written to standard out.
import com.ibm.as400.access.*;
public class test implements Runnable
{
JavaApplicationCall jaCall;
public static void main(String[] args)
{
test me = new test();
me.Main(args);
}
void Main(String[] args)
{
try
{
// Construct an AS/400 object. The Java program is on this AS/400.
AS400 as400 = new AS400();
// Construct a JavaApplicationCall object.
jaCall = new JavaApplicationCall(as400);
// Set the Java application to be run.
jaCall.setJavaApplication("HelloAS400");
// Set the classpath environment variable used by the AS/400's
// JVM so it can find the class to run.
jaCall.setClassPath("/javatest");
// Start the thread that will receive standard output
Thread outputThread = new Thread(this);
outputThread.start();
// Start the program. The call to run() will not return
// until the AS/400 Java program completes. If the Toolbox
// cannot start the Java program, false is returned with
// a list of AS/400 message objects indicating why the program
// could not start.
if (jaCall.run() != true)
{
AS400Message[] messageList = jaCall.getMessageList();
for (int msg = 0; msg < messageList.length; msg++)
System.out.println(messageList[msg].toString());
}
}
catch (Exception e) { e.printStackTrace(); }
System.exit(0);
}
// This thread will get standard out from the AS/400 Java
// program and print it. Note the call to sleep. JavaApplication
// call returns immediately even if there is no data.
public void run()
{
while(true)
{
String s = jaCall.getStandardOutString();
if (s != null)
System.out.println(s);
try { Thread.sleep(100); } catch (Exception e) {}
}
}
}
| Constructor Summary | |
JavaApplicationCall()
Constructs a JavaApplicationCall object. |
|
JavaApplicationCall(AS400 system)
Constructs a JavaApplicationCall object. |
|
JavaApplicationCall(AS400 system,
java.lang.String application)
Constructs a JavaApplicationCall object. |
|
JavaApplicationCall(AS400 system,
java.lang.String application,
java.lang.String classPath)
Constructs a JavaApplicationCall object. |
|
| Method Summary | |
void |
addActionCompletedListener(ActionCompletedListener listener)
Adds an ActionCompletedListener to be notified when the Java application ends. |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds a listener to be notified when the value of any bound property changes. |
void |
addVetoableChangeListener(java.beans.VetoableChangeListener listener)
Adds a listener to be notified when the value of any constrained property changes. |
java.lang.String |
getClassPath()
Returns the value of the CLASSPATH environment variable when running the Java program. |
int |
getDefaultPort()
Returns the default port used to transfer standard in, standard out and standard error between the client and the server. |
int |
getGarbageCollectionFrequency()
Returns the relative frequency that garbage collection runs. |
int |
getGarbageCollectionInitialSize()
Returns the initial size, in kilobytes, of the garbage collection heap. |
java.lang.String |
getGarbageCollectionMaximumSize()
Returns the maximum size, in kilobytes, that the garbage collection heap can grow to. |
int |
getGarbageCollectionPriority()
Returns the priority of the tasks running garbage collection. |
java.lang.String |
getInterpret()
Returns whether all Java class files should be run interpretively. |
java.lang.String |
getJavaApplication()
Returns the name of Java application to be run. |
AS400Message[] |
getMessageList()
Returns the list of AS/400 messages generated if the Java program cannot be started. |
java.lang.String |
getOptimization()
Returns the optimization level of AS/400 Java programs that will be created if no Java program is associated with the Java class. |
java.lang.String[] |
getOptions()
Returns a list of special options used when running the Java class. |
java.lang.String[] |
getParameters()
Returns parameter values that are passed to the Java application. |
java.util.Properties |
getProperties()
Returns the properties set on the AS/400's JVM before running the Java program. |
java.lang.String |
getSecurityCheckLevel()
Returns the level of warnings given for directories in the CLASSPATH that have public write authority. |
java.lang.String |
getStandardErrorString()
Returns the next string written to standard error by the program running on the AS/400. |
java.lang.String |
getStandardOutString()
Returns the next string written to standard output by the application. |
AS400 |
getSystem()
Returns the AS/400 system which contains the Java program. |
boolean |
isFindPort()
Indicates if this class should search for a free port. |
void |
removeActionCompletedListener(ActionCompletedListener listener)
Removes this ActionCompletedListener from the list of listeners. |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Removes a property change listener from the list of listeners. |
void |
removeVetoableChangeListener(java.beans.VetoableChangeListener listener)
Removes a vetoable change listener from the list of listeners. |
boolean |
run()
Run the Java application. |
void |
sendStandardInString(java.lang.String data)
Sends the standard input to the application running on AS/400. |
void |
setClassPath(java.lang.String classPath)
Sets the value of the CLASSPATH environment variable when running the Java program. |
void |
setDefaultPort(int port)
Sets the default port. |
void |
setFindPort(boolean search)
Sets searching for a free port. |
void |
setGarbageCollectionFrequency(int frequency)
Sets the relative frequency that garbage collection runs. |
void |
setGarbageCollectionInitialSize(int size)
Sets the initial size, in kilobytes, of the garbage collection heap. |
void |
setGarbageCollectionMaximumSize(java.lang.String size)
Sets the maximum size, in kilobytes, that the garbage collection heap can grow to. |
void |
setGarbageCollectionPriority(int priority)
Sets the priority of the tasks running garbage collection. |
void |
setInterpret(java.lang.String interpret)
Sets whether all Java class files should be run interpretively. |
void |
setJavaApplication(java.lang.String application)
Sets the Java application to be run. |
void |
setOptimization(java.lang.String opt)
Sets the optimization level of the AS/400 Java program that will be created if no Java program is associated with the Java class. |
void |
setOptions(java.lang.String[] option)
Sets special options used when running the Java class. |
void |
setParameters(java.lang.String[] parameters)
Sets one or more parameter values that are passed to the Java application. |
void |
setProperties(java.util.Properties property)
Sets the Java Virtual Machine properties when running the Java Application. |
void |
setSecurityCheckLevel(java.lang.String chklvl)
Sets the level of warnings given for directories in CLASSPATH that have public write authority. |
void |
setSystem(AS400 system)
Sets the AS/400 system. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public JavaApplicationCall()
public JavaApplicationCall(AS400 system)
system - The AS/400 on which contains the Java program.
public JavaApplicationCall(AS400 system,
java.lang.String application)
system - The AS/400 on which contains the Java program.application - The name of Java program.
public JavaApplicationCall(AS400 system,
java.lang.String application,
java.lang.String classPath)
system - The AS/400 on which contains the Java program.application - The name of Java program.classPath - The value of the environment variable CLASSPATH.| Method Detail |
public void addActionCompletedListener(ActionCompletedListener listener)
listener - The ActionCompletedListener.removeActionCompletedListener(com.ibm.as400.access.ActionCompletedListener)public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
listener - The listener.removePropertyChangeListener(java.beans.PropertyChangeListener)public void addVetoableChangeListener(java.beans.VetoableChangeListener listener)
listener - The listener.removeVetoableChangeListener(java.beans.VetoableChangeListener)public java.lang.String getClassPath()
Valid values are:
public int getDefaultPort()
public int getGarbageCollectionFrequency()
public int getGarbageCollectionInitialSize()
Possible values are:
public java.lang.String getGarbageCollectionMaximumSize()
Possible values are:
public int getGarbageCollectionPriority()
public java.lang.String getInterpret()
Possible values are:
public java.lang.String getJavaApplication()
public AS400Message[] getMessageList()
public java.lang.String getOptimization()
Possible values are:
public java.lang.String[] getOptions()
The possible values are:
public java.lang.String[] getParameters()
public java.util.Properties getProperties()
public java.lang.String getSecurityCheckLevel()
The possible values are:
public java.lang.String getStandardErrorString()
public java.lang.String getStandardOutString()
public AS400 getSystem()
public boolean isFindPort()
public void removeActionCompletedListener(ActionCompletedListener listener)
listener - The ActionCompletedListener.addActionCompletedListener(com.ibm.as400.access.ActionCompletedListener)public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
listener - The listener.addPropertyChangeListener(java.beans.PropertyChangeListener)public void removeVetoableChangeListener(java.beans.VetoableChangeListener listener)
listener - The listener.addVetoableChangeListener(java.beans.VetoableChangeListener)
public boolean run()
throws AS400SecurityException,
ConnectionDroppedException,
ErrorCompletingRequestException,
java.lang.InterruptedException,
java.io.IOException,
ServerStartupException,
java.net.UnknownHostException
AS400SecurityException - If a security or authority error occurs.ConnectionDroppedException - If the connection is dropped unexpectedly.ErrorCompletingRequestException - If an error occurs before the request is completed.java.lang.InterruptedException - If this thread is interrupted.java.io.IOException - If an error occurs while communicating with the AS/400.ServerStartupException - If the AS/400 server cannot be started.java.net.UnknownHostException - If the AS/400 system cannot be located.public void sendStandardInString(java.lang.String data)
data - The standard input to AS/400.
public void setClassPath(java.lang.String classPath)
throws java.beans.PropertyVetoException
Valid values are:
classPath - The value of the classpath.java.beans.PropertyVetoException - If the change is voted.
public void setDefaultPort(int port)
throws java.beans.PropertyVetoException
port - The default port.java.beans.PropertyVetoException - If the change is voted.
public void setFindPort(boolean search)
throws java.beans.PropertyVetoException
search - true to search for a port that is not in use; false to not search.java.beans.PropertyVetoException - If the change is voted.
public void setGarbageCollectionFrequency(int frequency)
throws java.beans.PropertyVetoException
frequency - The relative frequency that garbage collection runs.java.beans.PropertyVetoException - If the change is voted.
public void setGarbageCollectionInitialSize(int size)
throws java.beans.PropertyVetoException
The possible values are:
size - The initial size of the garbage collection heap.java.beans.PropertyVetoException - If the change is voted.
public void setGarbageCollectionMaximumSize(java.lang.String size)
throws java.beans.PropertyVetoException
The possible values are:
size - The maximum size that the garbage collection heap can grow to.java.beans.PropertyVetoException - If the change is voted.
public void setGarbageCollectionPriority(int priority)
throws java.beans.PropertyVetoException
priority - The priority of the tasks running garbage collection.java.beans.PropertyVetoException - If the change is voted.
public void setInterpret(java.lang.String interpret)
throws java.beans.PropertyVetoException
The possible values are:
interpret - How all Java class files should be run interpretively.java.beans.PropertyVetoException - If the change is voted.
public void setJavaApplication(java.lang.String application)
throws java.beans.PropertyVetoException
application - The Java application to be run.java.beans.PropertyVetoException - If the change is voted.
public void setOptimization(java.lang.String opt)
throws java.beans.PropertyVetoException
The possible values are:
opt - The optimization level of the AS/400 Java program that
will be created if no Java program is associated with
the Java class.java.beans.PropertyVetoException - If the change is voted.
public void setOptions(java.lang.String[] option)
throws java.beans.PropertyVetoException
The possible values are:
option - The special options used when running the Java class.java.beans.PropertyVetoException - If the change is voted.
public void setParameters(java.lang.String[] parameters)
throws java.beans.PropertyVetoException
parameters - The parameters for the Java application.java.beans.PropertyVetoException - If the change is voted.
public void setProperties(java.util.Properties property)
throws java.beans.PropertyVetoException
properties - The JVM properties.java.beans.PropertyVetoException - If the change is voted.
public void setSecurityCheckLevel(java.lang.String chklvl)
throws java.beans.PropertyVetoException
The possible values are:
chklvl - The level of warnings given for directories in the
CLASSPATH that have public write authority.java.beans.PropertyVetoException - If the change is voted.
public void setSystem(AS400 system)
throws java.beans.PropertyVetoException
system - The AS/400 system.java.beans.PropertyVetoException - If the change is voted.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||