Installing Multiple Workers On the Same Server (Windows)

  • 7020586
  • 08-May-2014
  • 07-Aug-2017


Retain 3.x
Windows Server


I would like to speed up the archive process.  I have multiple mail servers (or post offices).  Would it be possible to run jobs concurrently against each mail server?


Yes.  You can install multiple Workers, create a job for each mail server that archives from that mail server only, and then associate a different Worker that you installed to each job.   You can apply this same concept to single mailboxes and distribution lists.  For example, Office 365 and Gmail customers may not be provided multiple mail servers; however, they can divide up their users by assigning them to different distribution lists; or, they can create various jobs and assign individual mailboxes to those jobs.  Either way, you'll need to install a Worker for every job you want to run concurrently; otherwise, a single Worker can only run one job at a time.

We have created a tool to create additional workers. Tool for Creating Additional Workers on Windows

Otherwise you can install the workers manually.

Installing Multiple Workers Manually

Currently, the Retain installer does not provide the option to install multiple Workers like the Linux installer does; however, there is a manual way to make this work.  The only catch to this is that - when accessing the Worker web page - you must address it to port 48080:  http://[server IP]:48080/RetainWorkerx (e.g.,

Here is how to set it up:

1.  Stop the Apache Tomcat service.

2.  Go to the existing parent folder to the current Retain Worker (i.e., C:\Program Files\Beginfinite\Retain - path in red may vary)

3.  Right click on the RetainWorker folder and drag it to white space in the Retain directory.  Release the right mouse button and select "Copy here" from the pop-up menu.

4.  Rename the new RetainWorker - Copy folder to RetainWorkerx (replace x with 2 or the next Worker number if creating more than 1 additional Worker).

5.  Drill down into the new RetainWorkerx folder, landing in the cfg folder (i.e., ..\RetainWorker2\WEB-INF\cfg)

Delete RetainWorker2.cfg and it's backup file.


6.  Change to ..\RetainWorkerx\WEB-INF\classes\

7.  Edit in WordPad, doing a search on "RetainWorker" and replacing it with "RetainWorkerx", where "x" is the Worker number (i.e., RetainWorker2).

8.  Change to the Tomcat directory where the RetainWorker xml file is stored
Retain up to version  3.5 (i.e., C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\Catalina\localhost).
Retain 3.5.1+ (i.e., C:\Program Files\Beginfinite\Retain\Tomcat 7.0\conf\Catalina\localhost).

9.  Copy RetainWorker.xml to RetainWorkerx.xml (where "x" is the Worker number - the same number used in the RetainWorker folder number scheme in step #4).

10.   Open the new RetainWorkerx.xml file into WordPad.  For every reference of "RetainWorker", append the Worker number (i.e. RetainWorker2).

11.  Start up the Apache Tomcat service.

12.  Create a new worker and bootstrap for each of the new worker directories.

13.  Go to the Worker page and upload the bootstrap.  Be sure to use port 48080!

http://[server IP]:48080/RetainWorkerx (e.g.,

14.  Rinse, lather, and repeat for every Worker you wish to create.

NOTE:  Make sure you open up port 48080 on the server's firewall!

Additional Information

This article was originally published in the GWAVA knowledgebase as article ID 2288.