Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!-- Плагин с аспектами в контейнере -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>aspectj-maven-plugin</artifactId>
- <configuration>
- <aspectLibraries>
- <aspectLibrary>
- <groupId>com.ihg.crm</groupId>
- <artifactId>common-hibernate</artifactId>
- </aspectLibrary>
- <aspectLibrary>
- <groupId>com.ihg.crm</groupId>
- <artifactId>util</artifactId>
- </aspectLibrary>
- <aspectLibrary>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aspects</artifactId>
- </aspectLibrary>
- </aspectLibraries>
- </configuration>
- </plugin>
- <!-- Ну и бин вот такой определен и аннотация над конфигом -->
- @EnableTransactionManagement(mode = AdviceMode.ASPECTJ)
- @Bean
- public ValidationAspect validationAspect(){
- return new com.ihg.crm.ws.validation.ValidationAspect();
- }
- <!-- В конфиги веб сервисов есть бин ResponseValidatorInterceptor -->
- @Bean
- public ResponseValidatorInterceptor responseValidator()
- {
- return new com.ihg.crm.ws.validation.ResponseValidatorInterceptor();
- }
- <!-- А также он добавлен в интерсепторы эндпоинта -->
- @Configuration
- public class CorporateServiceEndpointsConfiguration
- {
- @Autowired
- private SpringBus springBus;
- @Autowired
- private ResponseValidatorInterceptor responseValidator;
- @Autowired
- private CorporateServiceDomainInterface corporateService;
- @Value("${corporate.http.address}")
- String corporatePath;
- @Value("${corporate.wsdl.location}")
- String corporateWsdlLocation;
- @Bean
- public EndpointImpl guestServiceEndpoint()
- {
- EndpointImpl endpoint = new EndpointImpl(springBus, corporateService);
- endpoint.publish(corporatePath);
- endpoint.setEndpointName(CorporateServiceProvider.UnifiedCorporateServicePortHTTPServiceContainer);
- endpoint.setServiceName(CorporateServiceProvider.SERVICE);
- endpoint.setWsdlLocation(corporateWsdlLocation);
- endpoint.getOutInterceptors().add(responseValidator);
- return endpoint;
- }
- }
- <!-- Над раннером спрингбута вот такая аннотация стоит -->
- @EnableAspectJAutoProxy
- <!-- Еще есть конфиг для регистра валидаторов (не знаю нужен ли он) -->
- @Configuration
- public class CorporateBeanConfig
- {
- @Autowired
- ApplicationContext context;
- @Bean
- public CorporateValidatorRegistry enrollValidatorRegistry()
- {
- Class[] validators = {
- CreateCorporateInfoRequestValidator.class,
- UpdateCorporateInfoRequestValidator.class
- };
- return new CorporateValidatorRegistry(context, validators);
- }
- @Bean
- public CorporateValidatorRegistry updateGuestValidatorsRegistry()
- {
- Class[] validators = {
- CreateCorporateInfoRequestValidator.class,
- UpdateCorporateInfoRequestValidator.class
- };
- return new CorporateValidatorRegistry(context, validators);
- }
- /*@Bean
- public ValidatorRegistry retrieveValidatorRegistry()
- {
- Class[] validators = {
- MembershipPriceRequestValidator.class
- };
- return new ValidatorRegistry(context, validators);
- }*/
- @Bean
- public Validator localValidatorFactoryBean()
- {
- return new LocalValidatorFactoryBean();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement