This commit is contained in:
parent
9292206208
commit
a8dd8d78ef
2 changed files with 35 additions and 15 deletions
|
|
@ -11,6 +11,9 @@ import ru.spcex.platform.enumeration.UserRole;
|
|||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
@Configuration
|
||||
public class BeanConfiguration {
|
||||
@Bean
|
||||
|
|
@ -25,4 +28,8 @@ public class BeanConfiguration {
|
|||
return new UserRoleVerification(imdgProvider, messageResolver, UserRole.Admin, GatewayError.UserVerifyDenial);
|
||||
}
|
||||
|
||||
@Bean("gatewayExecutor")
|
||||
public ExecutorService executor() {
|
||||
return Executors.newFixedThreadPool(10);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,13 +21,12 @@ import ru.spcex.clearing.gatewayapi.request.CompaniesRequest;
|
|||
import ru.spcex.clearing.gatewayapi.request.FondListingsRequest;
|
||||
import ru.spcex.clearing.gatewayapi.request.MMListingsRequest;
|
||||
import ru.spcex.clearing.gatewayapi.response.CommonResponse;
|
||||
import ru.spcex.platform.enumeration.Section;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/")
|
||||
|
|
@ -38,22 +37,21 @@ public class GatewayController {
|
|||
private final Processor<FondListingsRequestParam> fondListingsRequestProcessor;
|
||||
private final Processor<MMListingsRequestParam> mmListingsRequestProcessor;
|
||||
private final Processor<CompaniesRequestParam> companiesRequestProcessor;
|
||||
private final ExecutorService executor;
|
||||
|
||||
private List<String> validTypes = Arrays.asList("DAY_START", "ON_DEMAND");
|
||||
|
||||
public GatewayController(
|
||||
IMessageResolver messageResolver,
|
||||
@Qualifier("fondListingsRequestProcessor")
|
||||
Processor<FondListingsRequestParam> fondListingsRequestProcessor,
|
||||
@Qualifier("mmListingsRequestProcessor")
|
||||
Processor<MMListingsRequestParam> mmListingsRequestProcessor,
|
||||
@Qualifier("companiesRequestProcessor")
|
||||
Processor<CompaniesRequestParam> companiesRequestProcessor
|
||||
) {
|
||||
@Qualifier("fondListingsRequestProcessor") Processor<FondListingsRequestParam> fondListingsRequestProcessor,
|
||||
@Qualifier("mmListingsRequestProcessor") Processor<MMListingsRequestParam> mmListingsRequestProcessor,
|
||||
@Qualifier("companiesRequestProcessor") Processor<CompaniesRequestParam> companiesRequestProcessor,
|
||||
@Qualifier("gatewayExecutor") ExecutorService executor) {
|
||||
this.messageResolver = messageResolver;
|
||||
this.fondListingsRequestProcessor = fondListingsRequestProcessor;
|
||||
this.mmListingsRequestProcessor = mmListingsRequestProcessor;
|
||||
this.companiesRequestProcessor = companiesRequestProcessor;
|
||||
this.executor = executor;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -72,8 +70,13 @@ public class GatewayController {
|
|||
public CommonResponse listingsFond(@RequestBody FondListingsRequest request) {
|
||||
// request.validate(validTypes, List.of(Section.FOND));
|
||||
FondListingsRequestParam requestParam = new FondListingsRequestParam(request);
|
||||
ProcessResult processResult = fondListingsRequestProcessor.process(requestParam);
|
||||
if (processResult.getError() != null) throw new GatewayException(request, processResult.getError());
|
||||
executor.submit(() -> {
|
||||
ProcessResult processResult = fondListingsRequestProcessor.process(requestParam);
|
||||
if (processResult.getError() != null) {
|
||||
log.warn("Exception while process listingFind: {}", processResult.getError());
|
||||
}
|
||||
});
|
||||
|
||||
return createResponse(request, true);
|
||||
}
|
||||
|
||||
|
|
@ -93,8 +96,14 @@ public class GatewayController {
|
|||
public CommonResponse listingsMM(@RequestBody MMListingsRequest request) {
|
||||
// request.validate(validTypes, List.of(Section.MKR));
|
||||
MMListingsRequestParam requestParam = new MMListingsRequestParam(request);
|
||||
ProcessResult processResult = mmListingsRequestProcessor.process(requestParam);
|
||||
if (processResult.getError() != null) throw new GatewayException(request, processResult.getError());
|
||||
executor.submit(() -> {
|
||||
ProcessResult processResult = mmListingsRequestProcessor.process(requestParam);
|
||||
if (processResult.getError() != null) {
|
||||
log.warn("Exception while process listing_mm: {}", processResult.getError());
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
return createResponse(request, true);
|
||||
}
|
||||
|
||||
|
|
@ -114,8 +123,12 @@ public class GatewayController {
|
|||
public CommonResponse companies(@RequestBody CompaniesRequest request) {
|
||||
// request.validate(validTypes, Collections.emptyList());
|
||||
CompaniesRequestParam requestParam = new CompaniesRequestParam(request);
|
||||
ProcessResult processResult = companiesRequestProcessor.process(requestParam);
|
||||
if (processResult.getError() != null) throw new GatewayException(request, processResult.getError());
|
||||
executor.submit(() -> {
|
||||
ProcessResult processResult = companiesRequestProcessor.process(requestParam);
|
||||
if (processResult.getError() != null) {
|
||||
log.warn("Exception while process listing_mm: {}", processResult.getError());
|
||||
}
|
||||
});
|
||||
return createResponse(request, true);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue