|
|||||||||
| Home >> All >> org >> apache >> derby >> impl >> [ drda overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.apache.derby.impl.drda
Class NetworkServerControlImpl

java.lang.Objectorg.apache.derby.impl.drda.NetworkServerControlImpl
- public class NetworkServerControlImpl
- extends java.lang.Object
NetworkServerControlImpl does all the work for NetworkServerControl
| Constructor Summary | |
NetworkServerControlImpl()
|
|
NetworkServerControlImpl(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(org.apache.derby.iapi.tools.i18n.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 |
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 |
protected static java.sql.Driver |
getDriver()
|
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 org.apache.derby.iapi.services.info.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,
org.apache.derby.iapi.tools.i18n.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 NetworkServerControlImpl 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 |
startNetworkServer()
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 |
NO_USAGE_MSGS
private static final int NO_USAGE_MSGS
- See Also:
- Constant Field Values
COMMANDS
private static final java.lang.String[] COMMANDS
COMMAND_ARGS
private static final int[] COMMAND_ARGS
COMMAND_START
private static final int COMMAND_START
- See Also:
- Constant Field Values
COMMAND_SHUTDOWN
private static final int COMMAND_SHUTDOWN
- See Also:
- Constant Field Values
COMMAND_TRACE
private static final int COMMAND_TRACE
- See Also:
- Constant Field Values
COMMAND_TRACEDIRECTORY
private static final int COMMAND_TRACEDIRECTORY
- See Also:
- Constant Field Values
COMMAND_TESTCONNECTION
private static final int COMMAND_TESTCONNECTION
- See Also:
- Constant Field Values
COMMAND_LOGCONNECTIONS
private static final int COMMAND_LOGCONNECTIONS
- See Also:
- Constant Field Values
COMMAND_SYSINFO
private static final int COMMAND_SYSINFO
- See Also:
- Constant Field Values
COMMAND_RUNTIME_INFO
private static final int COMMAND_RUNTIME_INFO
- See Also:
- Constant Field Values
COMMAND_MAXTHREADS
private static final int COMMAND_MAXTHREADS
- See Also:
- Constant Field Values
COMMAND_TIMESLICE
private static final int COMMAND_TIMESLICE
- See Also:
- Constant Field Values
COMMAND_PROPERTIES
private static final int COMMAND_PROPERTIES
- See Also:
- Constant Field Values
COMMAND_UNKNOWN
private static final int COMMAND_UNKNOWN
- See Also:
- Constant Field Values
DASHARGS
private static final java.lang.String[] DASHARGS
DASHARG_PORT
private static final int DASHARG_PORT
- See Also:
- Constant Field Values
DASHARG_DATABASE
private static final int DASHARG_DATABASE
- See Also:
- Constant Field Values
DASHARG_USER
private static final int DASHARG_USER
- See Also:
- Constant Field Values
DASHARG_LOADSYSIBM
private static final int DASHARG_LOADSYSIBM
- See Also:
- Constant Field Values
DASHARG_ENCALG
private static final int DASHARG_ENCALG
- See Also:
- Constant Field Values
DASHARG_ENCPRV
private static final int DASHARG_ENCPRV
- See Also:
- Constant Field Values
DASHARG_BOOTPASSWORD
private static final int DASHARG_BOOTPASSWORD
- See Also:
- Constant Field Values
DASHARG_HOST
private static final int DASHARG_HOST
- See Also:
- Constant Field Values
DASHARG_SESSION
private static final int DASHARG_SESSION
- See Also:
- Constant Field Values
PROTOCOL_VERSION
private static final int PROTOCOL_VERSION
- See Also:
- Constant Field Values
COMMAND_HEADER
private static final java.lang.String COMMAND_HEADER
- See Also:
- Constant Field Values
REPLY_HEADER
private static final java.lang.String REPLY_HEADER
- See Also:
- Constant Field Values
REPLY_HEADER_LENGTH
private static final int REPLY_HEADER_LENGTH
OK
private static final int OK
- See Also:
- Constant Field Values
WARNING
private static final int WARNING
- See Also:
- Constant Field Values
ERROR
private static final int ERROR
- See Also:
- Constant Field Values
SQLERROR
private static final int SQLERROR
- See Also:
- Constant Field Values
SQLWARNING
private static final int SQLWARNING
- See Also:
- Constant Field Values
DRDA_PROP_MESSAGES
private static final java.lang.String DRDA_PROP_MESSAGES
- See Also:
- Constant Field Values
DRDA_PROP_DEBUG
private static final java.lang.String DRDA_PROP_DEBUG
- See Also:
- Constant Field Values
CLOUDSCAPE_DRIVER
private static final java.lang.String CLOUDSCAPE_DRIVER
- See Also:
- Constant Field Values
UNEXPECTED_ERR
public static final java.lang.String UNEXPECTED_ERR
- See Also:
- Constant Field Values
MIN_MAXTHREADS
private static final int MIN_MAXTHREADS
- See Also:
- Constant Field Values
MIN_TIMESLICE
private static final int MIN_TIMESLICE
- See Also:
- Constant Field Values
USE_DEFAULT
private static final int USE_DEFAULT
- See Also:
- Constant Field Values
DEFAULT_MAXTHREADS
private static final int DEFAULT_MAXTHREADS
- See Also:
- Constant Field Values
DEFAULT_TIMESLICE
private static final int DEFAULT_TIMESLICE
- See Also:
- Constant Field Values
DEFAULT_HOST
private static final java.lang.String DEFAULT_HOST
JAVADOC
org.apache.derby.impl.drda.NetworkServerControlImpl