MC2 can be restarted with SOAP request and eagle_ml-2-0_extract_service_control_message stream execution.
1. SOAP request example:
Restarting with frontend server (admin users only)
curl --user username:password --header "commandType:restartmc2" --header "commandValue:all" --header "SOAPAction:/EagleMLWebService/RunTaskRequestSync" --data-binary @RTR_RESTARTMC2.xml https://frontendserver/EagleMLWebService30 -o restartMC2.txt
required headers:
SOAPAction:/EagleMLWebService/RunTaskRequestSync - for SOAP request;
commandType:restartmc2
commandValue:[all] or [current]
where RTR_RESTARTMC2.xml has next content:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <runTaskRequest xmlns="http://www.eagleinvsys.com/2011/wsdl/EagleML-2-0"> <EagleML xmlns="http://www.eagleinvsys.com/2011/EagleML-2-0" eaglemlVersion="2-0" xsi:schemaLocation="http://www.eagleinvsys.com/2011/EagleML-2-0 eagleml-main-2-0.xsd" eaglemlType="RunTaskRequest"> <header> <messageId>541C2B1B66833C6C</messageId> <sentBy>http://www.client.com/user</sentBy> <sendTo>http://www.eagleinvsys.com/eagle_ml-2-0_default_out_extract_service</sendTo> </header> <taskIdentifier> <correlationId correlationIdScheme="correlationIdScheme">{GUID}</correlationId> <businessTaskId correlationIdScheme="businessTaskIdScheme">541C2B1B66833C6C</businessTaskId> </taskIdentifier> <taskParameters> <taskParameter> <name>FeedType</name> <dataType>S</dataType> <value>ENTITYEXTRACT</value> </taskParameter> <taskParameter> <name>ActionType</name> <dataType>S</dataType> <value>EXTRACT</value> </taskParameter> <taskParameter> <name>commandType</name> <dataType>S</dataType> <value>restartmc2</value> </taskParameter> <taskParameter> <name>commandValue</name> <dataType>S</dataType> <value>all</value> </taskParameter> </taskParameters> </EagleML> </runTaskRequest> </s:Body> </s:Envelope>
Restarting with backend server (any users)
The same rules apply for a backend server except small difference in request:
curl --header "commandType:restartmc2" --header "commandValue:all" --header "SOAPAction: /EagleMLWebService/RunTaskRequestSync" --data-binary @RTR_RESTARTMC2.xml http://backendserver:20421/services/eagle/v2/EagleMLWebService20 -o restartMC2.txt
where 20421 is default SOAP port number (portoffset 201).
2. Executing eagle_ml-2-0_extract_service_control_message stream:
Restarting using MCC:
Send RTR_RESTARTMC2.xml file to stream execution by clicking on Send Data in MCC:
Restarting with incoming folder
Copy RTR_RESTARTMC2.xml file to the incoming folder by the next path on backend server:
[TPE_FOLDER]/data/msgcenter/in/XML/eagle_ml-2-0_extract_service_control_message/incoming
where TPE_FOLDER is the path to the tpe folder.
Configuration
To enable/disable restart MC2 camel route restartmc2 property is used:
eagle:
enable:
restartmc2: true
Restart MC2 command starts after defined delay (default 90 seconds):
eagle:
restartmc2:
restartdelay: 90
When restart requests go through IIS server then only admin users can restart MC2
but there is also denyemptyusername property available which allows not authenticated users to make requests directly to LB,
see more info here: