Communication during processing
The following example show the entries in the QBMDBQueueSlot table during processing.
-
Slot initialization
-
Starts the process using the central dispatcher.
-
The process is ready for operation. Preparations, for example, for temporary tables, are complete. The slot status is regularly tested.
-
The central dispatcher distributes tasks. The central dispatcher checks slots for readiness and enters the task from DialogDBQueue table in the QBMDBQueueCurrent table with the slot number. The status of each slots is updated once the QBMDBQueueCurrent table has taken over.
-
The process recognizes a task on the basis of the status, starts processing and updates its slots' status.
-
The process has completed the processing and sets slot number in the DialogDBQueueCurrent table to 0. The process changes the status of its slots to operational.
Stop behavior by maximum timeout
Once the maximum runtime has expired, the tasks of slots in the QBMDBQueueCurrent table currently in use are still processed. No new tasks are added from the QBMDBQueue table. In the QBMDBQueueSlot table, all slots with a slot status 2 are set to the -1 status. This prompts the processes to finish and stop themselves. The central dispatcher checks whether all processes have completed and have stopped.
One Identity Manager Service configuration files
One Identity Manager Service is configured using a configuration file. The configuration file has to be in the same directory as the viNetworkService.exe. Two configuration files are supported:
Detailed information about this topic
Jobservice.cfg
The file Jobservice.cfg is an XML configuration file in One Identity Manager’s own simplified format. The advantage of this file is that run-time loading is supported. There is a configuration section in the file for each of the different modules in the One Identity Manager Service.
NOTE: Entries are case-sensitive. Both the sections and the names of the values must be written in lower case.
The root in the XML file is always called configuration. Each configuration file module and its values are defined in a category section respectively. At the moment the program only supports the System.Configuration.NameValueSectionHandler section type.
<configuration>
<category name="serviceconfiguration">
<value name="jobprovider">VI.JobService.MSSqlJobProvider,jobservice</value>
<value name="HttpPort">1180</value>
<value name="logwriter">VI.JobService.FileLogWriter,jobservice</value>
</category>
</configuration>
Example
Simple configuration with:
<configuration>
<category name="serviceconfiguration">
<value name="jobprovider">VI.JobService.MSSqlJobProvider,jobservice</value>
<value name="logwriter">VI.JobService.FileLogWriter,jobservice</value>
</category>
<category name="sqlprovider">
<value name="connectstring">User ID=sa;initial Catalog=<Database>;Data Source=<SQL-Server>;Password=<Password></value>
</category>
<category name="filelogwriter">
<value name="loglifetime">0.01:00:00</value>
<value name="logseverity">Info</value>
</category>
<category name="dispatcher" />
<category name="jobdestinations">
<value name="queuex">VI.JobService.JobServiceDestination,jobservice</value>
</category>
<category name="queuex">
<value name="queue">\%COMPUTERNAME%</value>
</category>
</configuration>
Related topics
viNetworkService.exe.config
The viNetworkService.exe.config file is the default configuration file for .NET exes and has the specified format. There is a configuration section in the file for each of the different modules in the One Identity Manager Service.
NOTE: Entries are case-sensitive.
The root in the XML file is always called configuration. All other sections of the configuration file must be in the mandatory configSections section and their type must be defined. At the moment the program only supports the System.Configuration.NameValueSectionHandler section type.
<configuration>
<configSections>
<section name="sectionname" type="System.Configuration.NameValueSectionHandler" />
</configSections>
<sectionname>
</sectionname>
</configuration>
Example
Simple configuration with:
<configuration>
<configSections>
<section name="serviceconfiguration" type="System.Configuration.NameValueSectionHandler" />
<section name="sqlprovider" type="System.Configuration.NameValueSectionHandler" />
<section name="filelogwriter" type="System.Configuration.NameValueSectionHandler" />
<section name="dispatcher" type="System.Configuration.NameValueSectionHandler" />
<section name="jobdestinations" type="System.Configuration.NameValueSectionHandler" />
<section name="queuex" type="System.Configuration.NameValueSectionHandler" />
<section name="plugins" type="System.Configuration.NameValueSectionHandler" />
</configSections>
<serviceconfiguration>
<add key="jobprovider" value="VI.JobService.MSSqlJobProvider,jobservice" />
<add key="logwriter" value="VI.JobService.FileLogWriter,jobservice" />
</serviceconfiguration>
<sqlprovider>
<add key="ConnectString" value="User ID=sa;initial Catalog=<Database>;Data Source=<SQL-Server>;Password=<Password>" />
</sqlprovider>
<filelogwriter>
<add key="LogLifeTime" value="0.01:00:00" />
<add key="LogSeverity" value="Info" />
</filelogwriter>
<dispatcher />
<jobdestinations>
<add key="QueueX" value="VI.JobService.JobServiceDestination,jobservice" />
</jobdestinations>
<queuex>
<add key="queue" value="\%COMPUTERNAME%" />
</queuex>
</configuration>
Related topics