|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.impl.drda.DB2jServerImpl
DB2jServerImpl does all the work for DB2jServer
for description
Field Summary | |
private java.lang.Runnable |
acceptClients
|
private java.util.Hashtable |
appRequesterTable
|
protected static java.lang.String |
att_extnam
|
protected static java.lang.String |
att_srvclsnm
|
protected static java.lang.String |
ATT_SRVNAM
|
protected static java.lang.String |
att_srvrlslv
|
private java.lang.String |
bootPasswordArg
|
private static java.lang.String |
buildNumber
|
private java.io.ByteArrayOutputStream |
byteArrayOs
|
protected static int |
CCSIDMBC
|
protected static int |
CCSIDSBC
|
private boolean |
cleanupOnStart
|
private java.io.InputStream |
clientIs
|
java.lang.String |
clientLocale
|
private java.io.OutputStream |
clientOs
|
private java.net.Socket |
clientSocket
|
private static java.lang.String |
CLOUDSCAPE_DRIVER
|
protected java.sql.Driver |
cloudscapeDriver
|
protected java.io.PrintWriter |
cloudscapeLogWriter
|
private static int[] |
COMMAND_ARGS
|
private static java.lang.String |
COMMAND_HEADER
|
private static int |
COMMAND_LOGCONNECTIONS
|
private static int |
COMMAND_MAXTHREADS
|
private static int |
COMMAND_PROPERTIES
|
private static int |
COMMAND_RUNTIME_INFO
|
private static int |
COMMAND_SHUTDOWN
|
private static int |
COMMAND_START
|
private static int |
COMMAND_SYSINFO
|
private static int |
COMMAND_TESTCONNECTION
|
private static int |
COMMAND_TIMESLICE
|
private static int |
COMMAND_TRACE
|
private static int |
COMMAND_TRACEDIRECTORY
|
private static int |
COMMAND_UNKNOWN
|
private java.util.Vector |
commandArgs
|
private java.io.DataOutputStream |
commandOs
|
private static java.lang.String[] |
COMMANDS
|
private int |
connNum
|
private Session |
currentSession
|
private static int |
DASHARG_BOOTPASSWORD
|
private static int |
DASHARG_DATABASE
|
private static int |
DASHARG_ENCALG
|
private static int |
DASHARG_ENCPRV
|
private static int |
DASHARG_HOST
|
private static int |
DASHARG_LOADSYSIBM
|
private static int |
DASHARG_PORT
|
private static int |
DASHARG_SESSION
|
private static int |
DASHARG_USER
|
private static java.lang.String[] |
DASHARGS
|
private java.lang.String |
databaseArg
|
private static java.lang.String |
DB2J_PROP_STREAM_ERROR_FIELD
|
private static java.lang.String |
DB2J_PROP_STREAM_ERROR_FILE
|
private static java.lang.String |
DB2J_PROP_STREAM_ERROR_METHOD
|
protected boolean |
debugOutput
|
protected static int |
DEFAULT_CCSID
|
protected static java.lang.String |
DEFAULT_ENCODING
|
private static java.lang.String |
DEFAULT_HOST
|
private static java.lang.String |
DEFAULT_LOCALE
|
private static java.lang.String |
DEFAULT_LOCALE_COUNTRY
|
private static int |
DEFAULT_MAXTHREADS
|
protected static int |
DEFAULT_SECURITY_MECHANISM
|
private static int |
DEFAULT_TIMESLICE
|
private static java.lang.String |
DRDA_MSG_PREFIX
|
private static java.lang.String |
DRDA_PROP_DEBUG
|
private static java.lang.String |
DRDA_PROP_MESSAGES
|
private java.lang.String |
encAlgArg
|
private java.lang.String |
encPrvArg
|
private static int |
ERROR
|
private java.lang.String |
errorLogLocation
|
private static int |
ERRTYPE_INFO
|
private static int |
ERRTYPE_SEVERE
|
private static int |
ERRTYPE_UNKNOWN
|
private static int |
ERRTYPE_USER
|
private int |
freeThreads
|
private java.net.InetAddress |
hostAddress
|
private java.lang.String |
hostArg
|
private boolean |
keepAlive
|
private LocalizedResource |
langUtil
|
(package private) java.util.ArrayList |
localAddresses
|
private boolean |
logConnections
|
private java.lang.Object |
logConnectionsSync
|
protected java.io.PrintWriter |
logWriter
|
private int |
maxPoolSize
|
private static int |
MAXREPLY
|
private int |
maxThreads
|
private memCheck |
mc
|
protected static int[] |
MGR_LEVELS
|
private static int |
MIN_MAXTHREADS
|
private static int |
MIN_TIMESLICE
|
private int |
minPoolSize
|
private int |
minThreads
|
private static int |
NO_USAGE_MSGS
|
private static int |
OK
|
private java.lang.String |
passwordArg
|
private java.lang.Object |
poolSync
|
private int |
portNumber
|
protected static java.lang.String |
prdId
|
private java.lang.String |
propertyFileName
|
private static int |
PROTOCOL_VERSION
|
private static java.lang.String |
REPLY_HEADER
|
private static int |
REPLY_HEADER_LENGTH
|
private byte[] |
replyBuffer
|
private int |
replyBufferCount
|
private int |
replyBufferPos
|
private boolean |
restartFlag
|
private java.util.Vector |
runQueue
|
private DB2jServerImpl |
serverInstance
|
private java.net.ServerSocket |
serverSocket
|
private java.lang.Object |
serverStartSync
|
private int |
sessionArg
|
private java.util.Hashtable |
sessionTable
|
private boolean |
shutdown
|
private static int |
SHUTDOWN_CHECK_ATTEMPTS
|
private static int |
SHUTDOWN_CHECK_INTERVAL
|
private java.lang.Object |
shutdownSync
|
protected static byte |
SPACE_CHAR
|
private static int |
SQLERROR
|
private static int |
SQLWARNING
|
private java.util.Vector |
threadList
|
private java.lang.Object |
threadsSync
|
private int |
timeSlice
|
private java.lang.Object |
timeSliceSync
|
private boolean |
traceAll
|
private java.lang.Object |
traceAllSync
|
private java.lang.String |
traceDirectory
|
private java.lang.Object |
traceDirectorySync
|
protected static java.lang.String |
UNEXPECTED_ERR
|
private static int |
USE_DEFAULT
|
private java.lang.String |
userArg
|
private static int |
WARNING
|
Constructor Summary | |
DB2jServerImpl()
|
|
DB2jServerImpl(java.net.InetAddress address,
int portNumber)
Internal constructor for NetworkServerControl API. |
Method Summary | |
protected void |
addToSessionTable(java.lang.Integer i,
Session s)
Add To Session Table - for use by ClientThread, add a new Session to the sessionTable. |
void |
blockingStart(java.io.PrintWriter consoleWriter)
Start a network server |
private void |
buildLocalAddressList(java.net.InetAddress bindAddr)
Build local address list to allow admin commands. |
java.lang.String |
buildRuntimeInfo(LocalizedResource locallangUtil)
|
private void |
checkAddressIsLocal(java.net.InetAddress inetAddr)
|
private void |
clientSocketError(java.io.IOException e)
Stream error writing to client socket |
private void |
connectToDatabase(DDMWriter writer,
java.lang.String database,
java.lang.String user,
java.lang.String password)
Connect to a database to test whether a connection can be made |
void |
consoleError(java.lang.String msg)
Write an error message to console output stream and throw an exception for this error |
void |
consoleExceptionPrint(java.lang.Exception e)
Write an exception to console output stream, but only if debugOutput is true. |
void |
consoleExceptionPrintTrace(java.lang.Throwable e)
Write an exception (with trace) to console output stream. |
void |
consoleMessage(java.lang.String msg)
Write a message to console output stream |
protected void |
consolePropertyMessage(java.lang.String msgProp)
Put property message on console |
protected void |
consolePropertyMessage(java.lang.String msgProp,
java.lang.String arg)
Put property message on console |
protected void |
consolePropertyMessage(java.lang.String msgProp,
java.lang.String[] args)
Put property message on console |
private void |
consolePropertyMessageWork(java.lang.String messageKey,
java.lang.String[] args)
Handle console error message - display on console and if it is a user error, display usage - if user error or severe error, throw exception with message key and message |
private void |
consoleTraceMessage(int connNum,
boolean on)
Print trace change message to console |
void |
directShutdown()
|
private void |
ensureDataInBuffer(int minimumBytesNeeded)
Ensure the reply buffer is at large enought to hold all the data; don't just rely on OS level defaults |
static void |
execute(java.lang.String[] args)
Execute the command given on the command line |
protected void |
executeWork(java.lang.String[] args)
Execute the command given on the command line |
private void |
fillReplyBuffer()
Fill the reply buffer with the reply allocates a reply buffer if one doesn't exist |
private int |
findCommand(java.lang.String[] args)
Go through the arguments and find the command and save the dash arguments and arguments to the command. |
protected AppRequester |
getAppRequester(AppRequester appRequester)
Get the stored application requester or store if we haven't seen it yet |
private java.lang.String |
getCLSSysInfo()
Get Cloudscape information |
java.util.Properties |
getCurrentProperties()
Get current properties |
java.lang.String |
getErrorLogLocation()
|
protected int |
getFreeThreads()
Get Free Threads - for use by ClientThread, get the number of free threads in order to determine if a new thread can be run. |
private int |
getIntPropVal(java.lang.String propName,
java.lang.String propVal)
Get integer property values |
protected boolean |
getKeepAlive()
Get the current value of keepAlive to configure how long the server should keep the socket alive for a disconnected client |
boolean |
getLogConnections()
Get the current value of logging connections |
protected int |
getManagerLevel(int manager)
Get the server manager level for a given manager |
private int |
getMaxPoolSize()
Get the current value of maximum number of pooled connections to create |
protected int |
getMaxThreads()
Get the current value of maximum number of threads to create |
private int |
getMessageType(java.lang.String msg)
Determine type of message |
private int |
getMinPoolSize()
Get the current value of minimum number of pooled connections to create at start |
private int |
getMinThreads()
Get the current value of minimum number of threads to create at start |
private ProductVersionHolder |
getNetProductVersionHolder()
Retrieve product version information We need to make sure that this method gets the stream and passes it to ProductVersionHolder, because it lives in the Network Server jar and won't be readily available to ProductVersionHolder when running under security manager. |
private java.lang.String |
getNetSysInfo()
Get Net Server information |
protected int |
getNewConnNum()
Get New Conn Num - for use by ClientThread, generate a new connection number for the attempted Session. |
protected Session |
getNextSession(Session currentSession)
Get the next session for the thread to work on Called from DRDAConnThread after session completes or timeslice exceeded. |
private void |
getPropertyInfo()
Get property info |
private java.util.Properties |
getPropertyValues()
|
private java.lang.String |
getRuntimeInfo()
|
protected boolean |
getShutdown()
|
protected java.lang.Object |
getShutdownSync()
|
protected java.util.Vector |
getThreadList()
Get Thread List - for use by ClientThread, get the thread list Vector so that a newly spawned thread can be run and added to the ThreadList from the ClientThread |
protected int |
getTimeSlice()
Get the current value of the time slice |
protected boolean |
getTraceAll()
Get the current value of whether to trace all the sessions |
protected java.lang.String |
getTraceDirectory()
Get the current value of trace directory |
private void |
init()
|
protected static boolean |
isCmd(java.lang.String val)
Is this the command protocol |
private boolean |
isMsgProperty(java.lang.String msg)
Determine whether string is a property key or not property keys start with DRDA_MSG_PREFIX |
private boolean |
isOn(java.lang.String arg)
Is string "on" or "off" |
boolean |
isServerStarted()
|
private java.lang.String |
localizeMessage(java.lang.String msgProp,
LocalizedResource localLangUtil,
java.lang.String[] args)
Localize a message given a particular AppUI |
void |
logConnections(boolean on)
Turn logging connections on or off. |
private java.io.PrintWriter |
makePrintWriter(java.io.OutputStream out)
|
void |
netSetMaxThreads(int max)
Connect to network server and set connection maxthread parameter |
void |
netSetTimeSlice(int timeslice)
Set network server connection timeslice parameter |
void |
ping()
|
protected void |
processCommands(DDMReader reader,
DDMWriter writer,
Session session)
processCommands reads and processes DB2jServerImpl commands sent to the network server over the socket. |
private int |
processDashArg(int pos,
java.lang.String[] args)
Get the dash argument. |
private byte[] |
readBytesReply(java.lang.String msgKey)
Read Bytes reply |
private void |
readCommandReplyHeader()
Read the command reply header from the server |
private int |
readInt()
Read int from buffer |
private byte[] |
readLDBytes()
Read length delimited bytes from a buffer |
private java.lang.String |
readLDString()
Read length delimited string from a buffer |
private void |
readResult()
Read result from sending client message to server |
private int |
readShort()
Read short from buffer |
private java.lang.String |
readStringReply(java.lang.String msgKey)
Read String reply |
protected void |
removeFromSessionTable(int sessionid)
Remove session from session table |
protected void |
runQueueAdd(Session clientSession)
Add session to the run queue |
java.lang.String |
runtimeInfo()
|
private void |
send()
Send client message to server |
private void |
sendMessage(DDMWriter writer,
int messageType,
java.lang.String message)
Send Error or Warning from server to client after processing a command |
private void |
sendOK(DDMWriter writer)
Send OK from server to client after processing a command |
private void |
sendOKInt(DDMWriter writer,
int val)
Send OK and int value |
private void |
sendPropInfo(DDMWriter writer)
Send property information from server to client |
private void |
sendRuntimeInfo(DDMWriter writer)
Send RuntimeInfo information from server to client |
void |
sendSetTraceDirectory(java.lang.String traceDirectory)
|
private void |
sendSQLMessage(DDMWriter writer,
java.sql.SQLException se,
int type)
Send SQL Exception from server to client after processing a command |
private void |
sendSysInfo(DDMWriter writer)
Send SysInfo information from server to client |
protected void |
setClientLocale(java.lang.String locale)
|
protected void |
setConnectionPoolParameters(int min,
int max,
java.lang.String host,
int portNumber)
Set default connection pool parameters |
protected void |
setConnectionPoolParameters(java.lang.String database,
int min,
int max,
java.lang.String host,
int portNumber)
Set connection pool parameters for a database |
private void |
setLogConnections(boolean value)
Set the current value of logging connections |
void |
setLogWriter(java.io.PrintWriter outWriter)
Set the output stream for console messages If this is set to null, no messages will be written to the console |
private void |
setMaxPoolSize(int value)
Set the current value of maximum number of pooled connections to create |
private void |
setMaxThreads(int value)
Set the current value of maximum number of threads to create |
private void |
setMinPoolSize(int value)
Set the current value of minimum number of pooled connections to create at start |
private void |
setMinThreads(int value)
Set the current value of minimum number of threads to create at start |
private void |
setTimeSlice(int value)
Set the current value of time slice |
private boolean |
setTrace(boolean on)
Set the trace on/off for all sessions, or one session, depending on whether we got -s argument. |
private void |
setTraceAll(boolean value)
Set the current value of whether to trace all the sessions |
private void |
setTraceDirectory(java.lang.String value)
Set the current value of trace directory |
static void |
setUniqueThreadName(java.lang.Thread thrd,
java.lang.String newName)
Set a thread name to be something that is both meaningful and unique (primarily for debugging purposes). |
private void |
setUpSocket()
Set up client socket to send a command to the network server |
void |
shutdown()
Shutdown a network server |
private void |
shutdownDatabase(DDMWriter writer,
java.lang.String database,
java.lang.String user,
java.lang.String password)
Shutdown a database |
void |
start(java.io.PrintWriter consoleWriter)
Start a network server. |
private void |
startDatabase(DDMWriter writer,
java.lang.String database,
java.lang.String bootPassword,
java.lang.String encPrv,
java.lang.String encAlg,
java.lang.String user,
java.lang.String password)
Boot database |
protected void |
startDB2j()
Load Cloudscape and save driver for future use. |
protected boolean |
supportsCCSID(int ccsid)
Check whether a CCSID code page is supported |
java.lang.String |
sysinfo()
|
private void |
throwSQLException(java.lang.String msg)
Throw a SQL Exception which was sent over by a server Format of the msg is SQLSTATE:localized message\nSQLSTATE:next localized message |
private void |
throwSQLWarning(java.lang.String msg)
Throw a SQL Warning which was sent over by a server Format of the msg is SQLSTATE:localized message\nSQLSTATE:next localized message |
private void |
throwUnexpectedException(java.lang.Exception e)
Print a trace for the (unexpected) exception received, then throw a generic exception indicating that 1) an unexpected exception was thrown, and 2) we've already printed the trace (so don't do it again). |
void |
trace(boolean on)
Turn tracing on or off for all sessions |
void |
trace(int connNum,
boolean on)
Turn tracing on or off for one session or all sessions |
void |
usage()
Display usage information |
private void |
wrapSQLError(java.lang.String messageKey)
Wrap SQL Error - display to console and raise exception |
private void |
wrapSQLWarning(java.lang.String messageKey)
Wrap SQL Warning - display to console and raise exception |
private void |
writeByte(int value)
Write byte |
private void |
writeCommandHeader(int command)
Write command header consisting of command header string and protocol version and command |
private void |
writeCommandReplyHeader(DDMWriter writer)
Write Command reply |
private void |
writeLDString(java.lang.String msg)
Write length delimited string string |
private void |
writeShort(int value)
Write short |
protected void |
writeString(java.lang.String msg)
Write string |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private static final int NO_USAGE_MSGS
private static final java.lang.String[] COMMANDS
private static final int[] COMMAND_ARGS
private static final int COMMAND_START
private static final int COMMAND_SHUTDOWN
private static final int COMMAND_TRACE
private static final int COMMAND_TRACEDIRECTORY
private static final int COMMAND_TESTCONNECTION
private static final int COMMAND_LOGCONNECTIONS
private static final int COMMAND_SYSINFO
private static final int COMMAND_RUNTIME_INFO
private static final int COMMAND_MAXTHREADS
private static final int COMMAND_TIMESLICE
private static final int COMMAND_PROPERTIES
private static final int COMMAND_UNKNOWN
private static final java.lang.String[] DASHARGS
private static final int DASHARG_PORT
private static final int DASHARG_DATABASE
private static final int DASHARG_USER
private static final int DASHARG_LOADSYSIBM
private static final int DASHARG_ENCALG
private static final int DASHARG_ENCPRV
private static final int DASHARG_BOOTPASSWORD
private static final int DASHARG_HOST
private static final int DASHARG_SESSION
private static final int PROTOCOL_VERSION
private static final java.lang.String COMMAND_HEADER
private static final java.lang.String REPLY_HEADER
private static final int REPLY_HEADER_LENGTH
private static final int OK
private static final int WARNING
private static final int ERROR
private static final int SQLERROR
private static final int SQLWARNING
private static final java.lang.String DB2J_PROP_STREAM_ERROR_FIELD
private static final java.lang.String DB2J_PROP_STREAM_ERROR_METHOD
private static final java.lang.String DB2J_PROP_STREAM_ERROR_FILE
private static final java.lang.String DRDA_PROP_MESSAGES
private static final java.lang.String DRDA_PROP_DEBUG
private static final java.lang.String CLOUDSCAPE_DRIVER
protected static final java.lang.String UNEXPECTED_ERR
private static final int MIN_MAXTHREADS
private static final int MIN_TIMESLICE
private static final int USE_DEFAULT
private static final int DEFAULT_MAXTHREADS
private static final int DEFAULT_TIMESLICE
private static final java.lang.String DEFAULT_HOST
private static final java.lang.String DRDA_MSG_PREFIX
private static final java.lang.String DEFAULT_LOCALE
private static final java.lang.String DEFAULT_LOCALE_COUNTRY
private static final int SHUTDOWN_CHECK_ATTEMPTS
private static final int SHUTDOWN_CHECK_INTERVAL
private static final int MAXREPLY
protected static java.lang.String att_srvclsnm
protected static final java.lang.String ATT_SRVNAM
protected static java.lang.String att_extnam
protected static java.lang.String att_srvrlslv
protected static java.lang.String prdId
private static java.lang.String buildNumber
protected static final int CCSIDSBC
protected static final int CCSIDMBC
protected static final java.lang.String DEFAULT_ENCODING
protected static final int DEFAULT_CCSID
protected static final byte SPACE_CHAR
protected static final int DEFAULT_SECURITY_MECHANISM
protected static final int[] MGR_LEVELS
protected java.io.PrintWriter logWriter
protected java.io.PrintWriter cloudscapeLogWriter
protected java.sql.Driver cloudscapeDriver
private static final int ERRTYPE_SEVERE
private static final int ERRTYPE_USER
private static final int ERRTYPE_INFO
private static final int ERRTYPE_UNKNOWN
private java.util.Vector commandArgs
private java.lang.String databaseArg
private java.lang.String userArg
private java.lang.String passwordArg
private java.lang.String bootPasswordArg
private java.lang.String encAlgArg
private java.lang.String encPrvArg
private java.lang.String hostArg
private java.net.InetAddress hostAddress
private int sessionArg
private memCheck mc
private byte[] replyBuffer
private int replyBufferCount
private int replyBufferPos
private int portNumber
private java.lang.String traceDirectory
private java.lang.Object traceDirectorySync
private boolean traceAll
private java.lang.Object traceAllSync
private java.lang.Object serverStartSync
private boolean logConnections
private java.lang.Object logConnectionsSync
private int minThreads
private int maxThreads
private java.lang.Object threadsSync
private int timeSlice
private java.lang.Object timeSliceSync
private boolean keepAlive
private int minPoolSize
private int maxPoolSize
private java.lang.Object poolSync
protected boolean debugOutput
private boolean cleanupOnStart
private boolean restartFlag
private java.lang.String errorLogLocation
private java.net.Socket clientSocket
private java.io.InputStream clientIs
private java.io.OutputStream clientOs
private java.io.ByteArrayOutputStream byteArrayOs
private java.io.DataOutputStream commandOs
private java.lang.Object shutdownSync
private boolean shutdown
private int connNum
private java.net.ServerSocket serverSocket
private DB2jServerImpl serverInstance
private LocalizedResource langUtil
public java.lang.String clientLocale
java.util.ArrayList localAddresses
private java.util.Hashtable sessionTable
private Session currentSession
private java.util.Vector threadList
private java.util.Vector runQueue
private int freeThreads
private java.util.Hashtable appRequesterTable
private java.lang.String propertyFileName
private java.lang.Runnable acceptClients
Constructor Detail |
public DB2jServerImpl() throws java.lang.Exception
public DB2jServerImpl(java.net.InetAddress address, int portNumber) throws java.lang.Exception
NetworkServerControl
Method Detail |
private void init() throws java.lang.Exception
java.lang.Exception
private java.io.PrintWriter makePrintWriter(java.io.OutputStream out)
public void setLogWriter(java.io.PrintWriter outWriter)
public void consoleError(java.lang.String msg) throws java.lang.Exception
msg
- error message
java.lang.Exception
public void consoleExceptionPrint(java.lang.Exception e)
e
- exceptionpublic void consoleExceptionPrintTrace(java.lang.Throwable e)
e
- exceptionpublic void consoleMessage(java.lang.String msg)
msg
- messagepublic void start(java.io.PrintWriter consoleWriter) throws java.lang.Exception
consoleWriter
- PrintWriter to which server console will be
output. Null will disable console output.
java.lang.Exception
- throws an exception if an error occurspublic void blockingStart(java.io.PrintWriter consoleWriter) throws java.lang.Exception
consoleWriter
- PrintWriter to which server console will be
output. Null will disable console output.
java.lang.Exception
- throws an exception if an error occursprotected void startDB2j() throws java.lang.Exception
java.lang.Exception
public void shutdown() throws java.lang.Exception
java.lang.Exception
- throws an exception if an error occurspublic void directShutdown()
public boolean isServerStarted() throws java.lang.Exception
java.lang.Exception
public void ping() throws java.lang.Exception
java.lang.Exception
public void trace(boolean on) throws java.lang.Exception
on
- true to turn tracing on, false to turn tracing off
java.lang.Exception
- throws an exception if an error occurspublic void trace(int connNum, boolean on) throws java.lang.Exception
connNum
- the connNum of the session, 0 if all sessionson
- true to turn tracing on, false to turn tracing off
java.lang.Exception
- throws an exception if an error occursprivate void consoleTraceMessage(int connNum, boolean on) throws java.lang.Exception
on
- true to print tracing on, false to print tracing off
java.lang.Exception
- throws an exception if an error occurspublic void logConnections(boolean on) throws java.lang.Exception
on
- true to turn on, false to turn off
java.lang.Exception
- throws an exception if an error occurspublic void sendSetTraceDirectory(java.lang.String traceDirectory) throws java.lang.Exception
java.lang.Exception
NetworkServerControl.setTraceDirectory(java.lang.String)
public java.lang.String sysinfo() throws java.lang.Exception
java.lang.Exception
NetworkServerControl.getSysinfo()
public java.lang.String runtimeInfo() throws java.lang.Exception
java.lang.Exception
NetworkServerControl#runtimeinfo
public void usage()
protected void setConnectionPoolParameters(java.lang.String database, int min, int max, java.lang.String host, int portNumber) throws java.lang.Exception
database
- database parameters applied tomin
- minimum number of connections, if 0, pooled connections not used
if -1, use defaultmax
- maximum number of connections, if 0, pooled connections
created when no free connection available, if -1,
use defaulthost
- machine network server is running on, if null, localhost is usedportNumber
- port number server is to use, if <= 0, default port number
is used
java.lang.Exception
- throws an exception if an error occursprotected void setConnectionPoolParameters(int min, int max, java.lang.String host, int portNumber) throws java.lang.Exception
min
- minimum number of connections, if 0, pooled connections not used
if -1, use defaultmax
- maximum number of connections, if 0, pooled connections
created when no free connection available
if -1, use defaulthost
- machine network server is running on, if null, localhost is usedportNumber
- port number server is to use, if <= 0, default port number
is used
java.lang.Exception
- throws an exception if an error occurspublic void netSetMaxThreads(int max) throws java.lang.Exception
max
- maximum number of connections, if 0, connections
created when no free connection available
if -1, use default
java.lang.Exception
- throws an exception if an error occurspublic void netSetTimeSlice(int timeslice) throws java.lang.Exception
timeslice
- amount of time given to each session before yielding to
another session, if 0, never yield. if -1, use default.
java.lang.Exception
- throws an exception if an error occurspublic java.util.Properties getCurrentProperties() throws java.lang.Exception
java.lang.Exception
- throws an exception if an error occurspublic static void setUniqueThreadName(java.lang.Thread thrd, java.lang.String newName)
thrd
- An instance of a Thread object that still has its default
thread name (as generated by the jvm Thread constructor). This should
always be of the form "Thread-N", where N is a unique thread id
generated by the jvm. Ex. "Thread-0", "Thread-1", etc.
protected void removeFromSessionTable(int sessionid)
sessionid
- id of session to be removedprotected void processCommands(DDMReader reader, DDMWriter writer, Session session) throws java.lang.Throwable
reader
- input reader for commandwriter
- output writer for commandsession
- session information
java.lang.Throwable
- throws an exception if an error occursprotected Session getNextSession(Session currentSession)
currentSession
- session thread is currently working on
protected AppRequester getAppRequester(AppRequester appRequester)
appRequester
- Application Requester to look for
protected int getManagerLevel(int manager)
protected boolean supportsCCSID(int ccsid)
protected void consolePropertyMessage(java.lang.String msgProp) throws java.lang.Exception
msgProp
- message property key
throws
- an Exception if an error occurs
java.lang.Exception
protected void consolePropertyMessage(java.lang.String msgProp, java.lang.String arg) throws java.lang.Exception
msgProp
- message property keyarg
- argument for message
throws
- an Exception if an error occurs
java.lang.Exception
protected void consolePropertyMessage(java.lang.String msgProp, java.lang.String[] args) throws java.lang.Exception
msgProp
- message property keyargs
- argument array for message
throws
- an Exception if an error occurs
java.lang.Exception
protected static boolean isCmd(java.lang.String val)
val
- private void writeCommandReplyHeader(DDMWriter writer) throws java.lang.Exception
writer
- writer to use
throws
- Exception if a problem occurs sending OK
java.lang.Exception
private void sendOK(DDMWriter writer) throws java.lang.Exception
writer
- writer to use for sending OK
throws
- Exception if a problem occurs sending OK
java.lang.Exception
private void sendOKInt(DDMWriter writer, int val) throws java.lang.Exception
writer
- writer to use for sendingval
- int val to send
throws
- Exception if a problem occurs
java.lang.Exception
private void sendMessage(DDMWriter writer, int messageType, java.lang.String message) throws java.lang.Exception
writer
- writer to use for sending messagemessageType
- 1 for Warning, 2 for Error 3 for SQLErrormessage
- message
throws
- Exception if a problem occurs sending message
java.lang.Exception
private void sendSQLMessage(DDMWriter writer, java.sql.SQLException se, int type) throws java.lang.Exception
writer
- writer to use for sending messagese
- Cloudscape exceptiontype
- type of exception, SQLERROR or SQLWARNING
throws
- Exception if a problem occurs sending message
java.lang.Exception
private void sendSysInfo(DDMWriter writer) throws java.lang.Exception
writer
- writer to use for sending sysinfo
throws
- Exception if a problem occurs sending value
java.lang.Exception
private void sendRuntimeInfo(DDMWriter writer) throws java.lang.Exception
writer
- writer to use for sending sysinfo
throws
- Exception if a problem occurs sending value
java.lang.Exception
private void sendPropInfo(DDMWriter writer) throws java.lang.Exception
writer
- writer to use for sending sysinfo
throws
- Exception if a problem occurs sending value
java.lang.Exception
private java.lang.String getNetSysInfo()
private java.lang.String getRuntimeInfo()
NetworkServerControl.getRuntimeInfo()
private java.lang.String getCLSSysInfo() throws java.io.IOException
throws
- IOException if a problem occurs encoding string
java.io.IOException
public static void execute(java.lang.String[] args)
args
- array of arguments indicating command to be executed
java.lang.Exception
- throws an exception if an error occurs
see class comments for more informationprotected void executeWork(java.lang.String[] args) throws java.lang.Exception
args
- array of arguments indicating command to be executed
java.lang.Exception
- throws an exception if an error occurs
see class comments for more informationprotected void runQueueAdd(Session clientSession)
clientSession
- session needing workprivate int findCommand(java.lang.String[] args) throws java.lang.Exception
args
- arguments to search
java.lang.Exception
private int processDashArg(int pos, java.lang.String[] args) throws java.lang.Exception
pos
- starting pointargs
- arguments to search
java.lang.Exception
- thrown if an error occursprivate boolean isOn(java.lang.String arg) throws java.lang.Exception
java.lang.Exception
- thrown if string is not one of "on" or "off"private void setUpSocket() throws java.lang.Exception
java.lang.Exception
- thrown if exception encounteredprivate void checkAddressIsLocal(java.net.InetAddress inetAddr) throws java.net.UnknownHostException, java.lang.Exception
java.net.UnknownHostException
java.lang.Exception
private void buildLocalAddressList(java.net.InetAddress bindAddr)
bindAddr
- Address on which server was started
Note: Some systems may not support localhost.
In that case a console message will print for the localhost entries,
but the server will continue to start.private void writeCommandHeader(int command) throws java.lang.Exception
command
- command to be written
java.lang.Exception
- throws an exception if an error occursprivate void writeLDString(java.lang.String msg) throws java.lang.Exception
msg
- string to be written
java.lang.Exception
- throws an exception if an error occursprotected void writeString(java.lang.String msg) throws java.lang.Exception
msg
- String to write
java.lang.Exception
private void writeShort(int value) throws java.lang.Exception
value
- value to be written
java.lang.Exception
- throws an exception if an error occursprivate void writeByte(int value) throws java.lang.Exception
value
- value to be written
java.lang.Exception
- throws an exception if an error occursprivate void send() throws java.lang.Exception
java.lang.Exception
- throws an exception if an error occursprivate void clientSocketError(java.io.IOException e) throws java.io.IOException
java.io.IOException
private void readResult() throws java.lang.Exception
java.lang.Exception
- throws an exception if an error occursprivate void ensureDataInBuffer(int minimumBytesNeeded) throws java.lang.Exception
minimumBytesNeeded
- size of buffer required
java.lang.Exception
- throws an exception if a problem reading the replyprivate void fillReplyBuffer() throws java.lang.Exception
java.lang.Exception
- throws an exception if a problem reading the replyprivate void readCommandReplyHeader() throws java.lang.Exception
java.lang.Exception
- throws an exception if an error occursprivate int readShort() throws java.lang.Exception
java.lang.Exception
- throws an exception if an error occursprivate int readInt() throws java.lang.Exception
java.lang.Exception
- throws an exception if an error occursprivate java.lang.String readStringReply(java.lang.String msgKey) throws java.lang.Exception
msgKey
- error message key
java.lang.Exception
- throws an error if problems reading replyprivate java.lang.String readLDString() throws java.lang.Exception
java.lang.Exception
- throws an error if problems reading replyprivate byte[] readBytesReply(java.lang.String msgKey) throws java.lang.Exception
msgKey
- error message key
java.lang.Exception
- throws an error if problems reading replyprivate byte[] readLDBytes() throws java.lang.Exception
java.lang.Exception
- throws an error if problems reading replyprivate void getPropertyInfo() throws java.lang.Exception
java.lang.Exception
private int getIntPropVal(java.lang.String propName, java.lang.String propVal) throws java.lang.Exception
propName
- property namepropVal
- string property value
java.lang.Exception
- if not a valid integerprivate void consolePropertyMessageWork(java.lang.String messageKey, java.lang.String[] args) throws java.lang.Exception
messageKey
- message keyargs
- arguments to message
throws
- an Exception if an error occurs
java.lang.Exception
private void throwSQLException(java.lang.String msg) throws java.sql.SQLException
msg
- msg containing SQL Exception
throws
- a SQLException
java.sql.SQLException
private void throwSQLWarning(java.lang.String msg) throws java.sql.SQLWarning
msg
- msg containing SQL Warning
throws
- a SQLWarning
java.sql.SQLWarning
private void throwUnexpectedException(java.lang.Exception e) throws java.lang.Exception
e
- An unexpected exception.
throws
- an Exception with message UNEXPECTED_ERR.
java.lang.Exception
private java.lang.String localizeMessage(java.lang.String msgProp, LocalizedResource localLangUtil, java.lang.String[] args)
msgProp
- message keyargs
- arguments to messageprivate int getMessageType(java.lang.String msg)
msg
- message
private boolean isMsgProperty(java.lang.String msg)
msg
- message
public boolean getLogConnections()
private void setLogConnections(boolean value)
value
- true to turn logging connections on; false to turn it offprivate boolean setTrace(boolean on)
on
- true to turn trace on; false to turn it off
protected int getTimeSlice()
private void setTimeSlice(int value) throws java.lang.Exception
value
- time slice value
java.lang.Exception
- if value is < 0protected boolean getKeepAlive()
private int getMinThreads()
private void setMinThreads(int value)
value
- value of minimum number of threadsprotected int getMaxThreads()
private void setMaxThreads(int value) throws java.lang.Exception
value
- value of maximum number of threads
java.lang.Exception
- if value is less than 0private int getMinPoolSize()
private void setMinPoolSize(int value)
value
- value of minimum number of pooled connectionsprivate int getMaxPoolSize()
private void setMaxPoolSize(int value)
value
- value of maximum number of pooled connectionsprotected boolean getTraceAll()
private void setTraceAll(boolean value)
value
- true if tracing is on for all sessions; false otherwiseprotected java.lang.String getTraceDirectory()
private void setTraceDirectory(java.lang.String value)
value
- trace directoryprivate void connectToDatabase(DDMWriter writer, java.lang.String database, java.lang.String user, java.lang.String password) throws java.lang.Exception
writer
- connection to send message todatabase
- database directory to connect touser
- user to usepassword
- password to use
java.lang.Exception
private void startDatabase(DDMWriter writer, java.lang.String database, java.lang.String bootPassword, java.lang.String encPrv, java.lang.String encAlg, java.lang.String user, java.lang.String password) throws java.lang.Exception
writer
- connection to send message todatabase
- database directory to connect tobootPassword
- boot passwordencPrv
- encryption providerencAlg
- encryption algorithmuser
- user to usepassword
- password to use
java.lang.Exception
private void shutdownDatabase(DDMWriter writer, java.lang.String database, java.lang.String user, java.lang.String password) throws java.lang.Exception
writer
- connection to send message todatabase
- database directory to shutdown touser
- user to usepassword
- password to use
java.lang.Exception
private void wrapSQLError(java.lang.String messageKey) throws java.lang.Exception
messageKey
- Cloudscape SQL Exception message id
java.lang.Exception
- raises exception for messageprivate void wrapSQLWarning(java.lang.String messageKey) throws java.lang.Exception
messageKey
- Cloudscape SQL Exception message id
java.lang.Exception
- raises exception for messageprivate java.util.Properties getPropertyValues()
public java.lang.String getErrorLogLocation()
protected void addToSessionTable(java.lang.Integer i, Session s)
s
- Session to add to the sessionTableprotected int getNewConnNum()
protected int getFreeThreads()
protected java.util.Vector getThreadList()
protected java.lang.Object getShutdownSync()
protected boolean getShutdown()
public java.lang.String buildRuntimeInfo(LocalizedResource locallangUtil)
protected void setClientLocale(java.lang.String locale)
private ProductVersionHolder getNetProductVersionHolder() throws java.lang.Exception
java.lang.Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |