Dispatcher: httpdispatch

httpdispatch is the standalone dispatcher that starts the Genero Application Server (GAS) in command line. No web server is needed.

Important:

The standalone GAS is for development only; provided to simplify your development setup and configuration. For deployment and production systems, you must include a web server.

The GAS is configured through the GAS configuration file (as.xcf). This configuration file can be the default configuration file ($FGLASDIR/etc/as.xcf) or a custom configuration file that is specified when the Genero Application Server is started.

The standalone dispatcher can run either in HTTP or in HTTPS. For HTTPS use, there are options to specify SSL certificates using the --cert-file and --cert-key options. For testing purposes, you can use a self-signed certificate instead of a Certificate Authority (CA)-signed certificate needed in production.

For details about creating self-signed certificates, refer to the Certificates in practice section in the Genero Business Development Language User Guide.

The standalone dispatcher can be started at the command line using the following commands:

For HTTP:
httpdispatch
For HTTPS:
httpdispatch --cert-file cert.pem --cert-key cert-key.pem 
Alternatively, on Linux®/UNIX™ if using the GAS systemd service, you can execute the following command:
systemctl start httpdispatch.service

Syntax

httpdispatch [options [...]] [@argfile]
  1. options can be an option as described in Table 1.
  2. argfile defines a file that contains a list of override (-E) commands. The options file must use the following format:
    option-name 
    option-value
    [...]
    For examples, go to Set override options in a file.

Options

Table 1. httpdispatch options
Option Description

-h

--help

Displays help information.

-p directory

--as-directory directory

Specify the Genero Application Server directory.

-f configuration_file

--configuration-file configuration_file

Specify which configuration file to use when starting the Genero Application Server dispatcher. If not specified, the default configuration file, $FGLASDIR/etc/as.xcf, is used.

-k

--no-keep-alive

Disable keep alive for HTTP connections. For debug purpose only.

-E name=value

--resource-overwrite name=value

Overwrites the resource defined in the configuration file or creates a new one.

Example:

httpdispatch
 -E res.dvm.wa=$FGLDIR/bin/myrun

If in the configuration file "res.dvm.wa" has another value it is now set to myrun. The final value is the one set in the option.

-V

--version

Displays version information.
--pid-file filename Write the dispatcher process-id to the specified file. The file is created. If the file exists, it is overwritten.
--dump-command Verify the dispatcher start-up commands by outputting them to standard out.
--cert-key pem-key Server private key, where pem-key can be the name of a PEM-encoded private key file.
--cert-file filename Server certificate, where filename is the name of the certificate file in the PEM format.

What does "address already in use" mean ?

The message "address already in use" means that an application server (dispatcher) has already been started on the same port. Check the GAS configuration file (default $FGLASDIR/etc/as.xcf ) to identify the port where the application server (dispatcher) started. The port number is identified in the following section:
<INTERFACE_TO_CONNECTOR>
  <TCP_SERVER_PORT>$(res.ic.server.port)</TCP_SERVER_PORT>
  #  ...
</INTERFACE_TO_CONNECTOR>

The default port is specified by the resource res.ic.server.port, which is set to 6394. Set the values to a port which is not used by another application in the INTERFACE_TO_CONNECTOR element.

Restarting the standalone GAS

To restart httpdispatch, use:
kill -9

Once the web server restarts the dispatcher, the dispatcher uses the session table to reconnect to the various proxies. The applications maintained by proxies, are still running, and once the dispatcher is relaunched, the user can continue his or her work.

Pressing CTRL-C or sending SIGTERM will stop the standalone dispatcher, and in both cases the dispatcher will request all proxies to stop. With kill -9 the dispatcher process is killed yet the sessions remain alive and untouched. When the dispatcher is restarted, the sessions continue to be active. Notice, the fastcgi dispatcher will stop sessions on pressing CTRL-C too if started in standalone mode. But not on SIGTERM.