Server Startup

Iotellect Server startup process is optimized for high performance. Thus, most stages that take significant time leverage multi-threaded task execution.

Startup process comprises the following major stages:

  • Logging system initialization. Error logging of files and console is available from this point.
  • Resource manager startup. This enables operation with rebranded corporate identity.
  • Loading of external JARs and JNI libraries. Those JARs don't include server plugins.
  • Loading and processing of server configuration.
  • Checking availability of a new version. This stage is skipped if Internet connectivity is unavailable.
  • Security system initialization.
  • Plugins loading and initialization. ContextPlugin.initialize() method of all context plugins is called.
  • Initialization of access to the server data storage.
  • Failover cluster startup. Slave nodes of an active-passive failover cluster halt at this stage until the primary node fails.
  • Loading of a context tree. Context.setupMyself() method of all contexts is called. All children of any specific container context are loaded concurrently by multiple threads.
  • Installation phase of context plugins. ContextPlugin.install(ContextManager) method is called.
  • Startup of context tree. Context.start() method of all contexts is called. All children of any specific container context are started concurrently by multiple threads.
  • Plugins startup. ContextPlugin.launch() method of all context plugins is called. This includes startup of the embedded web server since it's implemented as a context plugin.
  • Connectivity initialization. Most server sockets accepting incoming connections are opened at this stage.
  • Creation of bundled resources. This stage is only passed on first server startup.

Was this page helpful?