Starting and Stopping the Server
Starting the webMethods Integration Server
The webMethods Integration Server must be running in order for clients to execute services. If you are using the server in a development environment, it must be running in order for your developers to build, update, and test services using the Software AG Designer.
Keep the following points in mind when starting Integration Server:
- Integration Server stores some configuration files and log files on disk. Make sure that there is enough free disk space on the Integration Server machine to accommodate these files. Running out of disk space can affect performance and can lead to errors.
- Make sure that the external database to which Integration Server connects is available before staring Integration Server. If the database is unavailable at Integration Server startup, some components, such as the scheduler, will not be initialized and will not work properly.
For information about starting Microservices Runtime, see Starting Microservices Runtime and Microservices Runtime Administrator .
Starting an Integration Server Instance on Windows
About this task
To start Integration Server on Windows
Procedure
Starting Integration Server on UNIX
About this task
Keep the following points in mind when starting Integration Server on UNIX using the startup.sh script file:
- Run the startup.sh script only when logged in as a non-root user. Running the script as root might reduce the security of your system.
-
The server can consume more files and sockets on a UNIX system than on other systems. Therefore, if you are running the server on a UNIX system, Software AG recommends that run it with at least 1024 file descriptors. You can increase the number of available file descriptors by entering the following command from the UNIX command prompt before starting the server:
ulimit -n number
To start Integration Server on UNIX
Procedure
Starting a Server Instance from the Command Prompt
About this task
You can start server instances from the command prompt. When you start a server instance from the command prompt, you have the option of overriding certain settings in the configuration file. You can also start the server instance in "debug" mode, so you can record or display server activity.
To start a server instance from the command prompt in Integration Server
Procedure
What Happens When You Start the Server?
When you start Integration Server, it performs a series of initialization steps to make itself ready for client requests. The server:
- Establishes the operating environment by using the configuration parameters located in the configuration file ( Integration Server_directory \instances\instance_name\config\server.cnf).
- Initializes processes that perform internal management.
- Loads information about all the enabled packages and their services that reside in the Integration Server_directory \instances\instance_name\packages directory. If a package depends on other packages, the server loads the prerequisite packages first. The server does not load disabled packages.
- Executes the startup services for each loaded package.
- Initializes the guaranteed delivery engine. The server checks the job store for pending guaranteed delivery transactions. It retries the pending transactions as the guaranteed delivery configuration settings specify. For more information, refer to Configuring Guaranteed Delivery.
- Schedules internal system tasks.
How to Tell if the Server Is Running Correctly
To determine whether your server is running, start your browser and point it to the Integration Server instance. (See Starting Integration Server Administrator if you need instructions for this step.)
- If the server is running, you will be prompted for a name and password.
-
If the server is not running, your browser will issue an error message similar to the following:
"Cannot open the Internet site http://localhost:5555." "A connection with the server could not be established."
If Integration Server detects a problem with the master password or outbound passwords at startup, it will place you in safe mode, which is a special mode from which you can diagnose and correct problems. When Integration Server is in safe mode, it displays the Integration Server Administrator, but Integration Server is not connected to any external resources.
When you are placed into safe mode because of problems with the master password or outbound passwords, you will see the following message in the upper left corner of the Server Statistics page of the Integration Server Administrator:
SERVER IS RUNNING IN SAFE MODE. Master password sanity check failed -- invalid
master password provided.
These problems can be caused by a corrupted master password file, a corrupted outbound password file, or by simply mis-typing the master password when you are prompted for it. If you suspect you have mis-typed the password, shut down the server and restart it, this time entering the correct password. If this does not correct the problem, refer to When Problems Exist with the Master Password or Outbound Passwords at Startup... for instructions.
Running Integration Server as a Windows Application vs. a Windows Service
Integration Server can run as either a Windows application or a Windows service.
-
Use a Windows
application if you want to control when the
Integration Server initializes. When
Integration Server is a Windows application, you must manually start it.
If you installed the Integration Server as a Windows service and now want it to be a Windows application, you can manually remove the Windows service for the Integration Server. After removing the Windows service, the Integration Server will still be available as a Windows application. See Switching the Server from a Windows Service to a Windows Application.
-
Use a Windows
service to have
Integration Server automatically initialize when the machine on which it is
installed initializes. When you use a Windows service, you do not have to
manually restart
Integration Server following a machine restart.
If you installed Integration Server as a Windows application and now want it to be a Windows service, you can manually register the Integration Server service.
See Switching the Server from a Windows Application to a Windows Service.
Note: If you want the Integration Server to prompt for the master password for outbound passwords at server initialization, do not run it as a Windows service. For more information about outbound passwords and the master password, refer to Configuring Integration Server for Secure Communications.
You can run multiple Integration Server instances as applications and multiple Integration Server instances as services on a single machine. For example, you can run two instances of Integration Server as an application and two instances of Integration Server as services on the same machine.
Switching the Server from a Windows Service to a Windows Application
About this task
If Integration Server was installed as a Windows service, and you want Integration Server to run as a Windows application, you must remove the Windows service for the Integration Server.
To manually remove the Windows service for the Integration Server
Procedure
Switching the Server from a Windows Application to a Windows Service
About this task
To switch the server from a Windows application to a Windows service, you must manually register the Integration Server instance to run as a Windows service.
To manually register an Integration Server instance to run as a Windows service
Procedure
Increasing File Descriptors on Mac OS X or Other UNIX System
The ability of Integration Server to handle traffic is constrained by the number of file descriptors available to the Integration Server process. On most systems, 64 file descriptors are available to each process by default. If Integration Server is running on a Mac OS X or other UNIX system, Software AG recommends that you increase the number of file descriptors available to the Integration Server process to at least 1024.
Changing Settings in the Configuration File custom_wrapper.conf
About this task
The custom_wrapper.conf, which is used at Integration Server startup, contains configuration settings. You can override these settings for a single Integration Server session by starting Integration Server from the command prompt and using switches to override values in the custom_wrapper.conf file. However, you might want to permanently change some of the configuration values in the custom_wrapper.conf so that all sessions use the modified configuration values.
To override settings in the configuration file
Procedure
Passing Java System Properties to Integration Server
About this task
To pass Java system properties to Integration Server
Procedure
Shutting Down the Integration Server
You can shut down the server to stop the Integration Server and all active sessions. You can perform this task from Integration Server Administrator or from the command prompt.
For information about shutting down Microservices Runtime, see Shutting Down Microservices Runtime .
Shutting Down the Integration Server from Integration Server Administrator
About this task
Use this procedure to shut down the Integration Server and all active sessions from Integration Server Administrator.
To shut down the server
Procedure
Shutting Down Integration Server from Windows
About this task
To shut down Integration Server on Windows
Procedure
- Click Start.
- In the All Programs menu, click the Software AG folder.
- Click the Stop Servers folder.
- Click Stop Integration Server.
- Click Stop Integration Server instanceName .
Shutting Down Integration Server from the Command Prompt
About this task
Use this procedure to shut down the server and all active sessions from the command prompt.
To shut down the server from the command prompt
Procedure
Viewing Active Sessions
About this task
When Integration Server is running, you can view the sessions that are currently active.
To view active sessions
Procedure
- Open the Integration Server Administrator if it is not already open.
- Go to Server > Statistics.
- Click on the current number of sessions.
Killing Sessions
About this task
You can kill a single session or all sessions except the session you are currently running.
To kill sessions
Procedure
Viewing the Integration Server Process ID
About this task
To view the process ID
Procedure
- Open the Integration Server Administrator if it is not already open.
-
Click
>
About.
- Scroll down to the Server Process ID field in the Server environment area.
Restarting the Integration Server
About this task
Restart the server when you need to stop and reload Integration Server. You should restart the server when:
- You make certain configuration changes. Some configuration changes require the server to be restarted before they take effect. Integration Server Administrator displays a notification if a configuration change was made that requires a server restart for the change to take effect.
- You want to incorporate updated services that cannot be dynamically reloaded. This typically occurs for non-Java services.
To restart the server
Procedure
Server Recovery
If a hardware or software problem causes Integration Server to fail, restart the server using the normal startup procedure. The server will attempt to perform cleanup and initialization processes to reset the operating environment.
As part of the recovery process, the server automatically:
- Reloads the cache environment to its pre-failure state.
- Restores the transaction manager's guaranteed delivery queues. See Configuring Guaranteed Delivery for additional information about guaranteed delivery recovery options.
Services that your site has created might have their own unique recovery requirements. Consult with your developers for information about these requirements.
Some circumstances might require manual intervention to restart the server.
Unapplied Changes to Integration Server Configuration Files
If Integration Server shut down improperly while you were making changes that affect configuration files (*.cnf), Integration Server might display the following message upon restart:
[ISS.0025.0070C]
Integration Server detected files in config/work directory which suggests
unapplied configuration changes.
When saving changes to configuration files, Integration Server first saves the configuration changes in a temporary file in the Integration Server_directory /instances/instanceName/config/work directory. After saving the changes in a temporary file, Integration Server moves the temporary file to the actual configuration file. This ensures that if unexpected behavior occurs before the configuration changes are initially saved to the temporary file, only the temporary file is impacted. The actual configuration file is not corrupted. At start up, if Integration Server detects files in the Integration Server_directory /instances/instanceName/config/work, it suggests that changes to a configuration file were not saved to the temporary file and that, therefore, the changes were not made to the actual configuration file. Use the contents of the Integration Server_directory /instances/instanceName/config/work directory to determine which configuration files were in the process of being changed. Decide whether or not you want to redo the changes to the configuration files. Delete the files under the directory and redo the configuration change if you so choose.
Integration Server Data Integrity and Recoverability Considerations
The Integration Server utilizes a webMethods physical storage technology to persist critical operational data. This storage technology employs database-like technology of logging and transactional management. Under normal operations these facilities maintain the integrity, consistency, and recoverability of data persisted to these files. However, even with these safeguards, abnormal server shutdown and catastrophic failures can occur, which could result in these files being left in an unrecoverable state.
Shutting down Integration Server by any means other than the Integration Server Administrator may result in critical data files being left in an unrecoverable state. This will result in the inability to restart the Integration Server without manual intervention to remove or recover the damaged data files.
The mission-critical nature of the data stored in the Integration Server's data files requires that it be backed up periodically for disaster recovery. As in all critical data resources, the potential exists for a physical failure to leave the Integration Server data files in a corrupted state. In these situations the method of recovery is to replace these data files with the most current backup. The frequency and nature of these backups depends on the critical nature of the data being stored. Backups of these data files should be an offline process with the Integration Server in an idle or shutdown state, i.e. no disk activity.
Critical Integration Server Data Files
There are two subdirectories in Integration Server's currently working directory that contain critical data files that must be backed up for recovery purposes. These subdirectories are:
-
./DocumentStore
The files in this subdirectory contain the locally persisted documents being processed by Integration Server. The loss of these files will result in the loss of any persisted documents. Back up these six files:
- ISResubmitStoredata0000000
- ISResubmitStorelog0000000
- ISTransStoredata0000000
- ISTransStorelog0000000
- TriggerStoredata0000000
- TriggerStorelog0000000
-
./WmRepository4
The files in this subdirectory contain metadata for Integration Server. The loss of these files could result in loss of configuration information and may require manual reconfiguration. Back up these two files:
- FSDdata0000000
- FSDlog0000000
The Java Service Wrapper
webMethods Integration Server runs on the on the Software AG Common Platform, which in turn runs in a Java Virtual Machine (JVM). The Java Service Wrapper is an application developed by Tanuki Software, Ltd. It is a utility program that launches the JVM in which Integration Server runs.
In addition to launching the JVM, the Java Service Wrapper offers features for monitoring the JVM, logging console output, and generating thread dumps. The following sections describe how Integration Server uses the features of the Java Service Wrapper. For an overview of the Java Service Wrapper, see the webMethods cross-product document, Software AG Infrastructure Administrator's Guide .
The Java Service Wrapper Configuration Files
For Integration Server, the configuration files for the Java Service Wrapper reside in the following directory.
Software AG_directory \profiles\IS_instanceName\configuration
When you start Integration Server, property settings in the following files determine the configuration of the JVM and the behavior of the logging and monitoring features of the Java Service Wrapper.
| File name | Description |
|---|---|
| wrapper.conf | Contains
property settings that are installed by
Integration Server.
Important: Do not modify
the contents of this file unless asked to do so by
Software AG.
|
| custom_wrapper.conf | Contains properties
that modify the installed settings in wrapper.conf.
If you need to modify the property settings for the Java Service Wrapper, you make your changes in this file. Note: Beginning with
Integration Server version 9.7,
Integration Server no longer obtains settings from setenv.bat/sh or
server.bat/sh. At startup,
Integration Server obtains all classpath modifications from
custom_wrapper.conf. For more information about how
Integration Server builds classpaths, see
How the Integration Server Classpath Is Set.
|
The following sections describe configuration changes that Integration Server supports for Java Service Wrapper. For Integration Server, do not make any configuration changes to the Java Service Wrapper other than the ones described in the following sections.
JVM Configuration
When the Java Service Wrapper launches the JVM, it provides configuration settings that, among other things, specify memory settings and the directories in the classpath. When you start Integration Server, the Java Service Wrapper receives these configuration settings from the wrapper.conf and custom_wrapper.conf files in the Software AG_directory \profiles\IS_instance_name\configuration folder.
If you need to modify the default property settings for Integration Server, you can override the settings using the custom_wrapper.conf file, which is located in the Software AG_directory \profiles\IS_instance_name\configuration. For more information for configuring custom_wrapper.conf properties for Integration Server, see Configuring the Server. For general information about the Java Service Wrapper, see Software AG Infrastructure Administrator's Guide .
The Wrapper Log
The Java Service Wrapper records console output in a log file. The log contains the output sent to the console by the wrapper itself and by the JVM in which Integration Server is running. The wrapper log is especially useful when you run Integration Server as a Windows service, because console output is normally not available to you in this mode.
The Java Service Wrapper log for Integration Server is located in the following file:
Software AG_directory \profiles\IS_instanceName\logs\wrapper.log
To view the log, open the log file in a text editor.
Logging Properties
The wrapper.console and wrapper.log properties in the wrapper configuration files determine the content, format, and behavior of the wrapper log.
The logging settings that Integration Server installs are suitable for most environments. However, you can modify the following properties if the installed settings do not suit your needs. For procedures and additional information, see the webMethods cross-product document, Software AG Infrastructure Administrator's Guide .
| Property | Value |
|---|---|
| wrapper.console.format | The format of the messages displayed in the console. |
| wrapper.console.loglevel | The level of detail displayed in the console. |
| wrapper.logfile |
The file into which console output for Integration Server is logged. |
| wrapper.logfile.format |
The format of the messages recorded in the wrapper log file. |
| wrapper.logfile.loglevel |
The level of detail recorded in the wrapper log file. This setting must be a level that is equal to or lower than the setting in wrapper.console.loglevel. |
| wrapper.logfile.maxsize |
The maximum size to which the log can grow. |
| wrapper.logfile.maxfiles |
The number of old logs the Java Service Wrapper retains. |
| wrapper.syslog.loglevel |
Which messages are written to the Event Log on Windows systems, or the syslog on UNIX systems. |
Fault Monitoring
The Java Service Wrapper can monitor the JVM for the certain conditions and then restart the JVM or perform other actions when it detects these conditions.
The following table describes the fault-monitoring features Integration Server uses or allows you to configure. To learn more about these features, see the webMethods cross-product document, Software AG Infrastructure Administrator's Guide .
| Feature | Enabled? | User configurable? |
|---|---|---|
| JVM timeout | Yes | No. Do not modify the wrapper.ping properties unless asked to do so by Software AG. |
| Deadlock detection | No | No. Do not enable this feature. |
| Console filtering | No | No. Do not enable this feature. |
Generating a Thread Dump
The Java Service Wrapper provides a utility for generating a thread dump of the JVM. A thread dump can help you locate thread contention issues that can cause thread blocks or deadlocks.
For information about generating a thread dump using the Java Wrapper Service, see the webMethods cross-product document, Software AG Infrastructure Administrator's Guide .
Re-registering a Windows Service after Installing a New Version of the Java Service Wrapper
About this task
To re-register the Windows service for Integration Server