This appendix covers the following topics:
This section describes the commands used to operate a Fulfillment Server when it is running. If the engine.CommandPromptEnabledparameter is set to true, then you can enter the command at the same command prompt from which you started the Fulfillment Server.
The following table lists and describes the Fulfillment Server commands.
Command | Description |
---|---|
flush logs | Force the log buffers to write to disk. |
help | Display all of the valid commands for the Fulfillment Server. |
kill | Stop the server. To restart the server, run the server startup script. |
list error <n> | List a specific entry in the error log. The parameter n can be a single number, a range of numbers, or the word count to list the number of entries in the log. |
list events <n> | List a specific entry in the event log. The parameter n can be a single number, a range, or the word count to list the number of entries in the log. |
mstat | Print statistics about the Fulfillment Server monitors. |
pstat | Print statistics about the Fulfillment Server processes. |
restart | Stop and automatically restart the Fulfillment Server. |
start | Start a stopped Fulfillment Server. |
stat | Print statistics about the Fulfillment Server. |
stop | Pause Fulfillment Server processing. To resume processing, use the start command. |
tstat | Print statistics about the java thread activity in the Fulfillment Server. |
The flags listed in the following table are the only flags required to run a Fulfillment Server. The server will not start without them.
Flag | Description |
---|---|
engine.AOLJ.config | Specifies the full-path connection of the dbc file that the server uses to get connections to the database. |
engine.MaxBatchThreads | Specifies the number of java threads to be used by the server for Multithreaded Fulfillment. The fulfillment server divides the request lines within each mass request into batches. This parameter is used to specify the number of worker threads that can run in parallel to process request lines per batch. For example, if a request has 500 lines and is divided into 5 batches each of 100 lines each. The engine.MaxBatchThreads parameter specifies the number of worker threads (default 12) that can run in parallel to process the 100 lines. If this parameter is not defined in the jtffmctl.sh script then the default number of java threads is 4. The number of worker threads running in parallel impacts the number of SMTP connections and database connections made per batch. Hence based on available resources, you can decide up to what level you want to scale your application. |
engine.ServerID | Identifies the Fulfillment Server as referenced in the database. With the server id, the Fulfillment Server can get all configuration from the database without the need for optional flags. |
engine.ServerInstanceID | Numeric identifier for the server process. Auto config specifies a unique value for this flag. |
engine.TurnOffLowPriorityMonitor | Specifies if Bounceback processing Monitor and the Interaction History Monitor should be started on the current server node. |
The following flags are optional. Certain flags, such as the logging flags, can degrade the performance of the server. Other flags can improve the performance of the server.
Note: Fulfillment Server flags are added or deprecated from time to time, so that this list may change.
Flag | Description |
---|---|
email.PrefersMultipartAlternative | Specifies that the server is to allow a text-only alternative for the DATA or QUERY content that is sent by email. Default is 'false'. |
email.TextOnly | Specifies that the server is to send out text-only email instead of the HTML-based email that it sends out for it's DATA or QUERY contents. Default is 'false'. |
engine.CommandPort | Specifies the numeric port id, on the servers' hardware, that the server will listen to for receipt of remote commands. The only other way to send a command to the server is by the command prompt from which it was started (see engine.CommandPromptEnabled). Default is to not have command port defined. |
engine.CommandPromptEnabled | Specifies that server is to be able to receive commands by the command prompt from which it was started. This flag is useless when running the process in background on UNIX or as a service on Windows NT. For those types of servers, the flag engine.CommandPrompt should be used. The default value for this flag is 'true'. |
engine.ErrorLog | Specifies the name of the log used by the server to log errors. The default is 'Errors.log'. Also see 'engine.LogPath' and 'engine.LogLevel'. |
engine.EventLog | Specifies the name of the log used by the server to log events. The default is 'Events.log'. Also see 'engine.LogPath'. |
engine.FaxEnabler | Indicates the class that the Fulfillment Server is to use for sending faxes. This class must implement the 'oracle.apps.jtf.fm.engine.disp.FaxEnabler' interface to be used as a FaxEnabler. Also see 'engine.PrintEnabler'. No Default value. |
engine.LogLevel | Indicates the level of detail that will be written to the error log (see engine.ErrorLog). For each number from 1-n the server will write an extra layer of chained exception traces to the errors log. The exceptions are chained together so that the source of the errors as they occur can be traced. |
engine.LogPath | Specifies the directory path where Fulfillment Server logging occurs. The default if this flag is not set is to use 'engine.ServerPath' or 'logs' under the directory from which the server is started if that is also not set. |
engine.LogRequests | A Boolean flag that indicates that the original XML-based request pulled from and Advanced Queue by the server is to be written to disk. The requests will be saved as an XML file in the form of #####.xml where '#####' is the request id. The requests will be saved in a directory called 'requests' under the log path. Also see 'engine.LogPath' and 'engine.LogDispatches'. Default is 'false'. |
engine.PrintEnabler | Indicates the class that the Fulfillment Server is to use for sending print jobs to the printer. This class must implement the 'oracle.apps.jtf.fm.engine.disp.PrintEnabler' interface to be used as a PrintEnabler. Also see 'engine.FaxEnabler'. |
engine.RefreshRate | Indicates the amount of time, in milliseconds, between processor refreshes. This is when the servers' processor checks the status of all sub-processes to make sure they are functioning correctly. |
engine.ResultSetWarningLimit | Indicates how large of a ResetSet can be returned from a database query, before a warning will be logged to the Fulfillment Servers error log. This is to warn the server administrator that in case of an OutOfMemoryError, it might have been caused by the size of the Result Set. *This is not so much a problem in the newer versions of the Fulfillment Server. Also see 'log.ShowWarnings'. Default is '100'. |
db.ExitOnFailure | Specifies that the Fulfillment Server is to shutdown when the database becomes unavailable. Default is 'false'. |
history.NoContents | Indicates the Fulfillment Server is not to write Content Level History. This is detailed information about the processing and delivery of Fulfillment Content. This flag should be used when content history is not needed but a performance boost is. Also see 'history.NoInteractions'. Default is 'false' |
history.NoInteractions | Indicates the Fulfillment Server is not to write Interaction History. This is detailed information about the interaction between the agent and parties addressed in the Fulfillment request. This flag should be used when Interaction History is not needed but a performance boost is. Also see 'history.NoContents'. Default is 'false'. |
pkg.ident | Specifies the Fulfillment Server should write class file versions of the Fulfillment Server to the events log. *This only works when the oracle.apps.jtf.fm.FulfillmentServer class is used to start the Fulfillment Server instead of oracle.apps.jtf.fm.engine.Processor. Default is 'false'. |
pkg.showmissing | Works with the 'pkg.ident' flag and specifies the Fulfillment Server note missing class files in the events log. This is useful when wrapping an older version of the Fulfillment Server with the FulfillmentServer class. *This only works when the oracle.apps.jtf.fm.FulfillmentServer class is used to start the Fulfillment Server instead of oracle.apps.jtf.fm.engine.Processor. Also see 'pkg.ident'. Default is 'false'. |
log.ShowWarnings | Indicates that warnings are to be logged to the error log. By default, warnings do not show up in the error log. If this flag is not set, then the first time a warning appears, a, one time only, message shows up in the events log signifying that a warning had been issued. Default is 'false'. |
smtp.port | Overrides the default port '25' for email sent to an SMTP email server. |
smtp.server | Overrides the default SMTP server that is set using the Fulfillment Administration Console. |
The Fulfillment Server can be debugged, at runtime, through the use of a debug flag in the Fulfillment Server startup script or on the command line. The debug information is written to the Fulfillment Server events log, with debug=log, or to Central Logging in the database. In some cases, through use of third-party debugging (for example, Java Mail API), debug information is written to the console.
Note: Oracle advises that you do not try to use debug flags to improve server performance. Using any of these flags reduces the performance of the server by the time it takes for the debug sections to run. In most cases, debug information is either written to the Events log or it is written to the command prompt.
The correct syntax for this flag is
-Ddebug=<flag>[,<flag>],
For example,
-Ddebug=email,request,content, query
This comma-separated list allows for individually setting the debug flags listed in the following table.
Flag | Description |
---|---|
full | Turns on all debug flags, including 'log' which disables Central Logging. |
off | Turns off all debugging. |
content | Causes request content, as downloaded from the database, to be written to local disk on which the server is running. The directory is called 'contents' and can be found under the log directory. |
Causes details of the delivery of email to be printed to the Events log and to the console. (Not all information printed to the console is recorded in the Events log.) | |
fax | Debug the delivery of faxes. |
history | Debug the writing of Fulfillment Request History, Fulfillment Content History and Interaction History. |
log | Debug the creation of local disk log files. This flag disables the use of Central Logging. |
monitor | Debug the operations of the Fulfillment Server's internal monitors. All vital internal processes of the server are handled by these monitors. |
Debug the sending of print jobs. | |
processor | Debug the functions of the server main thread. |
query | Debug queries executed by the server. These are written to the Events log. |
request | Debug requests that are processed by the server. Details of the request are written to the Events log. |
header | Debug extended headers. Each is written as part of the email header for email sent by the server. Additional details of the request are written to the header such as request id, party_id, and so on. |
jdbc | Debug JDBC calls made by the server. JDBC is how Java communicates with the database. |
fault | Debug the functioning of the server's fault monitor. This provides details of request fault detection and handling. |
mass | Debug the processing of Mass Requests. |
failure | Debug failures that occur as a normal part of processing a request. The failure is written to the Error log to record a stack trace from where the failure originated. This skews the actual error count because an exception is created to track the stack trace of the failure. |
merge | Debug the parsing of merge fields and insertion of bind variables within dynamic request content (Master Documents and email subject field). |
queue | Debug the reading and writing to Advanced Queues (AQ). The XML-based requests and responses are written to the Events log. |
bind | Debug the use of bind data associated with content of a fulfillment request. |
labels | Debug PDF labels requests. |
The standard flags of the Java programming language are useful in using the Fulfillment Server to maximum benefit. Some of these flags may not be available for all versions of Java that are used to run the Fulfillment Server. You can view a list of Java flags that work with your version of Java by typing the full path to the java or jre command, as you would use to start the Fulfillment Server.
Flag | Description |
---|---|
ms | Specifies the amount of memory to allocate to the Fulfillment Server on startup. Use it as -Dms##[k|m] where ## is the amount of memory, k is kilobytes and m is megabytes. Specifying a larger value for ms at startup can produce some performance gains depending on how memory intensive the server is for the types of requests it is processing. The default value is 1 MB. |
mx | Specifies the maximum amount of memory to allocate to the Fulfillment Server. The server starts with the value for ‘ms' and works up to the value of mx as needed. Use it as -Dmx##[k|m] where ## is the amount of memory, k is kilobytes, and m is megabytes. Use this flag if the server is encountering an OutOfMemoryError. The default value is 16 MB. |
The Fulfillment Server sometimes incorrectly parses certain natural language characters in email when using default environment settings and Java runtime options. The following configuration settings in the file FM_start.sh work for some of the languages that have encoding issues with the default settings.
Chinese
export LANG=zh_TW.big5
-Dengine.CharEncoding=BIG5
French
LANG=fr_FR.iso88591
-Dengine.CharEncoding=8859_1
Korean (Hangul)
-Dfile.encoding=EUC-KR
Japanese
export LANG=ja_JP.PCK
-Dengine.CharEncoding=SHIFT_JIS
Russian (Cyrillic)
export LANG=ru_RU.KOI8R
or
export LANG=ru_RU.iso88591