Вопросы с тегами [spring]

0

голосов
0

ответ
9

Просмотры

Swagger-UI emplyeed in nginx by bunled jar, it shows blank page

Форс-интерфейс можно посетить на окружающую среду «Dev», но он не в состоянии, когда я развернуть его в облаке. Я попытался AddResoucesHandler, но он не работает. Сообщение об ошибке: GET https://user.throw.atatakai.cn/webjars/springfox-swagger-ui/springfox.css?v=2.9.2 нетто :: ERR_ABORTED 404 (Not Found) развязность-ui.html: 8 GET https://user.throw.atatakai.cn/webjars/springfox-swagger-ui/swagger-ui.css?v=2.9.2 нетто :: ERR_ABORTED 404 (Not Found) развязность-ui.html: 70 GET по протоколу HTTPS: //user.throw.atatakai.cn/webjars/springfox-swagger-ui/swagger-ui-bundle.js?v=2.9.2 нетто :: ERR_ABORTED 404 (Not Found) развязность-ui.html: 71 GET по протоколу HTTPS: //user.throw.atatakai.cn/webjars/springfox-swagger-ui/swagger-ui-standalone-preset.js?v=2.9.2 нетто :: ERR_ABORTED 404 (Not Found) развязность-ui.html: 72 GET https://user.throw.atatakai.cn/webjars/springfox-swagger-ui/springfox.js?v=2.9.
Emwing
1

голосов
1

ответ
3.9k

Просмотры

Реализация Google Calendar API с Угловыми 5

Я пытаюсь подключиться к API Google Calendar, используя угловую 5, так что я могу показать предстоящих событий на веб-приложения, я в здании. Я новичок в Угловом и я ищу способ интегрировать API в моем приложении. Я искал много, но я не нашел способ сделать это.
Eve
1

голосов
2

ответ
294

Просмотры

В том числе пружины загрузки конечной переменный пути в качестве метрической размерности

У меня есть апи конечной точка: / пользователь / {арендатор} / создать Я использую пружинные загрузки 2 с микрометром для метрик. По умолчанию @Timer аннотации для весенней загрузки 2 конечных точки включают в себя следующие тег: исключение, метод, Урьте, статус я хочу добавить переданное значение для параметра апи «жильца» в качестве дополнительного тега для конечной точки Как это сделать с помощью пружинного загрузки 2 и микрометр
Rohan Shetty
1

голосов
1

ответ
78

Просмотры

Какой graphql-весна-загрузка-стартер я должен выбрать?

Я думал о добавлении GraphQL функциональных возможностей моего приложения Spring загрузки. Я нашел, что есть два артефактов для этого. Одним из них является com.graphql-ява-Кикстарт: graphql-весна-загрузки-стартер, а другой com.graphql-Java: graphql-весна-загрузки-стартер. Какой я должен выбрать?
Jin Kwon
1

голосов
1

ответ
69

Просмотры

Есть ли безопасности Спринт JWT дело реализации с ALG: нет атаки? [закрыто]

Реализации JWT могут быть подвержены различным атакам, один из них является «ALG: нет» атака (подробнее здесь). Я использую «весна-безопасности JWT» зависимость в моем файле pom.xml, и был не в состоянии выяснить, является ли эта реализация сделок с «ALG: нет» атаки. Является ли эта атака смягчается осуществления пружинный безопасности JWT?
omer
1

голосов
1

ответ
71

Просмотры

Thymeleaf: только переменные выражения возвращающие числа или булевы разрешены в этом контексте

У меня есть RESTful приложение Web Service SpringBoot 2.1.4.RELEASE., Используя Spring Initializer, встроенный Tomcat, Thymeleaf двигатель шаблона и пакет как исполняемый файл JAR. У меня есть этот кусок кода в одном из своих шаблонов, ... Но я получил эту ошибку при визуализации шаблона: org.thymeleaf.exceptions.TemplateProcessingException: только переменные выражения возвращающих чисел или булевыми позволены в этом контексте, любые другие типы данных, не доверяют в контексте этого выражения, в том числе строк или любого другого объекта, который может быть вынесенному в тексте буквальным. Типичный пример является HTML атрибутов для обработчиков событий (например, «OnLoad»), в котором текстовые данные из переменных должны лучше быть выведено «данных- *» атрибуты, а затем прочитать из обработчика события.
carles xuriguera
0

голосов
0

ответ
5

Просмотры

При использовании @PathVariable, Аякса неудачу

При использовании @PathVariable, AJAX идет к ошибкам без @PathVariable, успеха. Я проверил это в трех случаях. И только если используется @pathvariable, AJAX идет к ошибкам. в моем коде, case1 показать Вопрос 3 успеха предупредительное сообщение. и показать провал Варианта 2 сообщения. // case1 успех @RequestMapping (значение = "/", метод = RequestMethod.GET) публичный дом Строка (локали, модель модель) {возвращение "домой"; } // Вариант 2 не в состоянии @RequestMapping (значение = "/ совет / {список}", метод = RequestMethod.GET) публичное Струнный доска (@PathVariable INT список) {возвращение "домой"; } // Вопрос 3 успех @RequestMapping (значение = "/ доска", метод = RequestMethod.GET) публичное Струнный совет1 () {возвращение "домой"; } @ResponseBody @RequestMapping (значение = "/ тест", метод = RequestMethod.GET) публичный тест HashMap () {System.out.println ( "Аякс 시작"); Карта Карта = новый HashMap (); map.put ( "а", "а"); вернуть (HashMap) карты; } //////////////////Home.jsp///////////////// $ (документ) .ready (функция () { тестовое задание(); }); тест функция () {$ .ajax ({URL: './ тест', введите: 'GET', DATATYPE: 'JSON', ошибка: функция () {Alert ( "провал");}, успех: функция () {Alert ( "успех");}}); }; Случай 1, Случай 3 успеха. но не в состоянии .. Вариант 2
kim sungmok
1

голосов
1

ответ
880

Просмотры

Как разыменовать старых Wildfly 9.0.1 развертывания артефактов Spring MVC приложения, построенные с IntelliJ-IDE?

Я использую IntelliJ-IDE-14, чтобы создать именованный приложение проекта SpringMVC, который первоначально был быть развернут на JBoss Wildfly 9.0.1.Final в app.war Вот шаг за шагом сценария, ведущей к моему вопросу; После завершения проекта конфигурации для использования Maven | Весна | спящий режим | Wildfly | Velocity, то я сделал копию проекта, переработан новую копию как демо и продолжал работать на демо. Таким образом, я всегда мог повторно использовать приложение в качестве усеченного запуска шаблона. Сделав это, я затем продолжил работу над демо. Я настроил Maven назвать выходной файл войны демо быть ROOT.war Кроме того, просто так я не забываю, я возвращаюсь в приложение слишком и настроена Maven на имя выходного файла войны приложения, как ROOT.war Теперь я бег дем, она развертывается, попадает на целевую страницу контроллера и отображает. Все хорошо, кроме случаев, когда я просматриваю журналы я вижу следующие исключения бросали во время его развертывания. См StackTrace; INFO [org.jboss.as.server.deployment] (MSC обслуживание резьба 1-6) WFLYSRV0027: Начиная развертывание "app.war" (среда-имя: "app.war") INFO [org.jboss.as.server .deployment.scanner] (MSC обслуживание резьба 1-8) WFLYDS0013: Начало FileSystemDeploymentService для каталога C: \ JBoss \ wildfly-9.0.1.Final \ автономный \ развертывания ERROR [org.jboss.msc.service.fail] (сервис MSC нить 1-6) MSC000001: Не удалось запустить службу jboss.deployment.unit "app.war" .STRUCTURE:. org.jboss.msc.service.StartException в сервис jboss.deployment.unit "app.war" .STRUCTURE.: WFLYSRV0153: Не удалось обработать фазовую структуру развертывания «app.war» в org.jboss.as.server.deployment.DeploymentUnitPhaseService. Final) начал (с ошибками) в 7442ms - Создано 205 383 услуг (1 услуга не удалась или отсутствуют зависимости, 211 услуг ленивы, пассивны или по требованию) Подключения к серверу [2015-10-24 08: 32: 15100] Артефакт демо: война: Артефакт развертывается, пожалуйста, подождите ... [INFO] ... // (для краткости опускаем) WFLYCTL0186: Услуги, которые не удалось запустить:. сервис jboss.deployment.unit "app.war" .STRUCTURE: org.jboss.msc.service.StartException в сервис jboss.deployment.unit "app.war" .STRUCTURE:. WFLYSRV0153: Не удалось обработать фазовую структуру развертывания "app.war" [2015-10-24 08: 32: 30629 ] Артефакт демо: война: Артефакт успешно развернута Так по существу это означает, что демо-развертывается в порядке, но в процессе он не может найти один файл. Обратите внимание на эту строку; Вызванный: java.io.FileNotFoundException C: \ Проект-путь \ демо \ цель \ app.war (Система не может найти указанный файл) Теперь это довольно странно, так как это файл app.war даже не должен существовать в контексте демо anylonger, потому что я уже сделал полный рефакторинг. После проверки всего каталога демо и не найдя какие-либо ссылки на app.war тогда я думал, что это может быть просто IntelliJ ссылки проблема, поэтому я раскрылся демо очистить проект, закрытый IntelliJ, удалил папку .idea и создал новый проект Maven из существующие источники. Надеясь это будет очистить любые остатки приложения, которые могут существовать в демо, я снова побежал демо, но опять попал же исключение. Кроме того, обратите внимание на первую строку в наклеенной StackTrace; INFO [org.jboss.as.server.deployment] (MSC обслуживание резьба 1-6) WFLYSRV0027: Начиная развертывание "app.war" (среда-имя: "app.war" ) Это показывает, что Wildfly прежде всего пытается развернуть app.war тогда это demo.war, которые должны быть развернуты получать потому, что я бегу это демонстрационный проект. После того, как все это оставляет меня заподозрить проблема должна быть в рамках Wildfly, и что я, возможно, потребуется удалить старые ссылки где-то в пределах Wildfly, но я потерял на идеях того, что может быть основной проблемой. Помощь была бы оценена. Благодарю. Помощь была бы оценена. Благодарю. Помощь была бы оценена. Благодарю.
CodeBurner
1

голосов
1

ответ
1.6k

Просмотры

Принудительная связь Https во время успеха весной входа безопасности

У меня есть один загрузочное приложение пружины, которая содержит пружинную безопасность с добавляемым formLogin и пользовательскими LoginPage. Всякий раз, когда я получаю авторизирован, то он отправит меня в defaultSuccessUrl, который / приложение / приборная панель и посылает со схемой HTTP Я пытался весь день, чтобы просто сделать схему successUrl быть HTTPS только Tweaking некоторые изменения application.properties и иногда с Bean, но я до сих пор не в состоянии сделать это. Мое приложение в cloudfoundry, которая так и я не порт 80, но только 443 (HTTPS). Моя конфигурация весной, как это: HTTP .authorizeRequests () .antMatchers ( "/", "/ запрещено", "/index.html", "/ webjars / *", "/app.js", «/ доступ / *», "/ регистрация", "/l10n/*.js", "/", "/tpl/**/*.html", "/fonts/**/*.woff"). permitAll () .anyRequest (). проверка подлинности () .и (). addFilterAfter (новый CsrfHeaderFilter (), CsrfFilter.class). CSRF (). csrfTokenRepository (репо) .И () .httpBasic (). отключить () .formLogin () .loginPage ( "/ доступа / зарегистрировались"). permitAll () .failureUrl ( "/ ошибка") .defaultSuccessUrl (» / приложение / панель ") .и () выход из системы () .logoutRequestMatcher (новый AntPathRequestMatcher (." доступ / выход из системы ")) .logoutSuccessUrl (" / доступа / входа в аккаунт ") permitAll (). Я также пытался использовать абсолютный URL с HTTPS, но он не работает хорошо. failureUrl ( "/ ошибка") .defaultSuccessUrl ( "/ приложение / панель") .и (). выход из системы () .logoutRequestMatcher (новый AntPathRequestMatcher ( "доступ / выход из системы")) .logoutSuccessUrl ( "/ доступа / входа в аккаунт"). permitAll (); Я также пытался использовать абсолютный URL с HTTPS, но он не работает хорошо. failureUrl ( "/ ошибка") .defaultSuccessUrl ( "/ приложение / панель") .и (). выход из системы () .logoutRequestMatcher (новый AntPathRequestMatcher ( "доступ / выход из системы")) .logoutSuccessUrl ( "/ доступа / входа в аккаунт"). permitAll (); Я также пытался использовать абсолютный URL с HTTPS, но он не работает хорошо.
privatejava
1

голосов
3

ответ
4.9k

Просмотры

эврика UnknownHostException в открытии службы

Я два microservices, Эврика-клиент-1, работающие на локальном хосте: 8081 Эврика-клиент-2, работающие на локальном хосте: 8082 Оба эти DiscoveryClients зарегистрированных с «эврика-сервером» работает на локальном хосте: 8761. В фрагменте кода ниже, я пытаюсь позвонить эврика-клиент-2 от эврика-клиент-1. Вместо вызова HTTP: // локальный: 8082, я хочу назвать HTTP: // Эврика-клиент-2, но это бросает java.net.UnknownHostException во время открытия службы Eureka. После поиска, я обнаружил, что мне нужно использовать «Brixton», чтобы сделать это. Есть ли способ сделать это с Camden.SR3? Просьба предложить. @Component общественного класса HystrixDemoService {@Bean @LoadBalanced общественного RestTemplate restTemplate () {возвращение нового RestTemplate (); } @HystrixCommand (fallbackMethod = "getFallbackCustomerName" ) Публичная Строка getCustomerName () {RestTemplate restTemplate = новый RestTemplate (); Uri Uri = URI.create ( "HTTP: // Эврика-клиент-2"); // здесь терпит неудачу вернуть restTemplate.getForObject (Uri, String.class); } Общественной Строки getFallbackCustomerName () {System.out.println ( "приход внутри запасного метода"); вернуться «Клиент» тележек дополнительным; }} Pom.xml 4.0.0 com.example демо-pranay-Eureka-client1 0.0.1-СНАПШОТ банку демо-pranay-Eureka-client1 Демонстрационный проект Spring ботинке org.springframework.boot пружинно-загрузочный стартер-родителя 1.4. 2.RELEASE UTF-8, UTF-8 1.8 org.springframework.
prranay
1

голосов
1

ответ
1.2k

Просмотры

Весна загрузка основной весна аутентификации загрузка сеанс возможно

У меня есть серверное приложение фонового пружинных загрузок, который реализует базовую аутентификацию по протоколу HTTPS. Не будем иметь традиционный веб-интерфейс переднего конца, а мой андроид и клиенты IOS будут использовать REST API вызовов. Бэкенд в настоящее время проверки информации имя пользователя и пароль, полученные и реагирует с правильными сообщениями о состоянии (401, 200). Могу ли я использовать пружинный загрузочный сеанс, чтобы иметь логин пользователя в начале сессии, а затем использовать значение сеанса для каждого последующего вызова REST API для этой сессии? Реализовать этот вопрос похож на [Спринг загрузки отдых безопасность с Android и IOS, но этот вопрос, похоже, не охватывает кэширования и с использованием значения сеанса принятым для все дополнительного Rest API призывает к сессии. Должен ли я передать значение сеанса в качестве параметра в Rest ставить и команды API размещать? Цель должна иметь приложение проверить пользователь зарегистрирован и проверить свои учетные данные, прежде чем принимать дополнительные команды остальное пут и пост. Я прочитал документацию spring.io, но не нашел эту тему охвачены. Несколько новичок пружинных ботинок.
geezer57
1

голосов
2

ответ
62

Просмотры

Spring validator custom HTTP status

I'd like to return a custom HTTP status 422 instead of a default 400 on a spring validation. My validator: @Component @RequiredArgsConstructor public class EmailUpdateDtoValidator implements Validator { private Errors errors; private EmailUpdateDto emailUpdateDto; @Override public boolean supports(Class clazz) { return EmailUpdateDto.class.equals(clazz); } @Override public void validate(Object object, Errors errors) { this.errors = errors; this.emailUpdateDto = (EmailUpdateDto) object; validateEmail(); } private void validateEmail() { if (!Email.isValid(emailUpdateDto.getEmail())) { errors.rejectValue("email", UserValidationErrorCodes.EMAIL_NOT_VALID.name()); } } } How I setup the validation in the Controller: @Slf4j @RestController @RequiredArgsConstructor public class UserController { private final EmailUpdateDtoValidator emailUpdateDtoValidator; @InitBinder("emailUpdateDto") protected void initEmailValidationBinder(final WebDataBinder binder) { binder.addValidators(emailUpdateDtoValidator); } @RequestMapping(value = "/users/{hashedId}/email", method = RequestMethod.PUT) public void updateEmail(@RequestBody @Valid EmailUpdateDto emailUpdateDto) { ... } } Using this setup I always get a 400. How could I customize the HTTP status on the return? Thanks
James Carter
1

голосов
2

ответ
313

Просмотры

Проверка схемы программно с помощью спящего режима

В Мос проецируют путь для запуска Java приложения с проверкой схемы с этой конфигурацией (при использовании пружины): spring.jpa.hibernate.ddl-авто = проверить, я столкнулся с проблемой, что мне нужно, чтобы проверить мою схему в определенное время во время бега, есть ли способ осуществить это? Я увидел, что спящий режим справился с AbstractSchemaValidator, я использую весной с спящим режимом, и я не нашел какую-либо информации, как бороться с этим, единственным, что я нашел Как проверить схему базы данных программны в спящем режиме с аннотациями? , Но он был удален в более старых версиях пружинной загрузки org.springframework.data весны-данные JPA 2.0.4.RELEASE любых идей?
Daniel Taub
1

голосов
3

ответ
123

Просмотры

Недействительные флаг в Java-параметров 1.7

У меня есть задача создать приложение пружинной загрузки с помощью Java 7. Так что, как обычно, я создал шаблон на start.spring.io ресурс и открыть его с помощью File -> New -> Project из существующих источников ... Когда я работать с JDK-8, все работает отлично, но когда я изменить JDK до версии 1.7 (также меняю Java-версию в pom.xml) Я получаю ошибку компиляции: ошибка: Java: неверный флаг: Скриншот-параметров: pom.xml : 4.0.0 org.springframework.boot весна-загрузки-стартер-родитель 2.1.2.RELEASE com.exercise квадратичная 0.0.1-SNAPSHOT квадратичная Демонстрационный проект Spring загрузки UTF-8 UTF-8 1,8 org.springframework.boot весенне загрузки пускателя данных JPA org.springframework.boot весна-ботинок стартер-thymeleaf org.springframework.не загрузки пружинных загрузок стартера веб-org.springframework.boot весна-загрузка-стартер-тест тест MySQL MySQL-разъем-Java Runtime org.springframework.boot весна-загрузка Maven-плагин я не создал ни одного занятие в этом проекте.
Valentyn Hruzytskyi
1

голосов
1

ответ
275

Просмотры

Как настроить автономный контроллер только один раз перед всеми тестовыми в Spring ботинке?

Я пишу тесты для контроллера. Я насмешливо слой службы и с использованием автономной установки для контроллера отдыха. ProductSupplierControllerUnitTest.java общественного класса ProductSupplierControllerUnitTest {@Mock личное ProductSupplierService productSupplierService; @InjectMocks частный ProductSupplierRestController productSupplierRestController; частный MockMvc mockMvc; @Before общественной пустоты нАлАдкА () {MockitoAnnotations.initMocks (это); mockMvc = MockMvcBuilders.standaloneSetup (productSupplierRestController) .setControllerAdvice (новый ServiceExceptionHandler ()) построить (). } @Test общественный недействительный productNotFound () бросает исключение {Длинное incorrectProductId = 2L; Mockito.when (productSupplierService.getProductSuppliers (incorrectProductId, tenantId)). thenThrow (новый EntityNotFoundException (Product.class, String.valueOf (incorrectProductId))); RequestBuilder requestBuilder = MockMvcRequestBuilders.get (prepareRequestUrl (incorrectProductId)) .requestAttr (TENANT_ID, tenantId) .contentType (MediaType.APPLICATION_JSON_UTF8); mockMvc.perform (requestBuilder) .andExpect (статус (). isNotFound ()) .andExpect (содержание (). CONTENTTYPE (MediaType.APPLICATION_JSON_UTF8)). andExpect (jsonPath ( "$. сообщение", является (string.Format ( "Продукт не был найден для параметра (ов)% S», incorrectProductId)))); . Mockito.verify (productSupplierService, раз (1)) getProductSuppliers (incorrectProductId, tenantId); Mockito.verifyNoMoreInteractions (productSupplierService);
Harshit
1

голосов
0

ответ
156

Просмотры

многократный запрос против пакетного исполнения с Mybatis весной

У меня есть один вопрос. многократный запрос против партии с mybatis в Спринг примере) Случай 1. allowmutiquery = TRUE и одного вызова вызова «mutiquery»; обновление ... набор .... случай 2. цикл несколько вызовов и пакетное выполнение для (;;) {Вызывают «партию»; } Обновления ... установлен .... что так лучше?
J.K.R
1

голосов
1

ответ
34

Просмотры

video is not fetching completly,

Я хочу получать видео с MongoDB, чем она должна играть, что видео до размера видео, но его играет лишь некоторые второй, я дал maxUploadSize является 20mb и maxInMemorySize также 20mb, но на странице JSP, его извлечение только 1 Мб видео даже видео размера более чем 1Мб. Я не получаю, что делать, видео должно играть полный объем в соответствии с размером видео здесь контроллер @RequestMapping (значение = «/ радушно-видео-контроллер / {videoObj}», производит = «видео / WebM») @ResponseBody общественного ResponseEntity getVideoForLoginPage (@PathVariable Строка videoObj, HttpServletResponse ответ) бросает IOException {LOG.info ( "Вступление :: getVideoForPost"); BufferedImage bufferedVideoForPost = NULL; URL resourcePath = NULL; байт [] videoArray = NULL; ResponseEntity результат = NULL; LOG.info ( "videoObj ->" + videoObj); Файл videoFromMongo = новый файл (VIDEO_FROM_PATH + videoObj); GridFSDBFile видеофайле = MongoUtility.getVideoFileFromMongo (videoObj); videoFile.writeTo (videoFromMongo); bufferedVideoForPost = ImageIO.read (videoFromMongo); videoFile.getInputStream (); HttpHeaders заголовки = новые HttpHeaders (); headers.setContentLength ((INT) videoFile.getLength ()); videoArray = новый байт [(целое) videoFile.getLength ()]; Результат = новый ResponseEntity (videoArray, заголовки, HttpStatus.OK); . VideoFile.getInputStream () следующим образом (videoArray); LOG.info ( "videoArray ->" + videoArray); LOG.info ( "размер videoArray ->" + videoArray.length); возвращать результат; } И это HTML codding она должна играть полное видео, я пытался много, но ничего не работает, плз сказать, что это проблема,
Laxmi Prajapati
1

голосов
1

ответ
40

Просмотры

Starting Sub SpringBootApplication in Spring project for micro service

Я пытаюсь запустить другой пружинный загрузочный сервис от существующего приложения, в порядке и использовать один и тот же слой базы данных. Два приложение должно быть отводящими услугами с почтительными портами. Моя структура проекта заключается в следующем: - com.name (Project A) | - Применение | - com.name.controller - com.name.controller2 (New) (Project B) | - Application2 (New) | - com.name.controller2.controller (Новый RestController) | - com.name.storage (Проект С) | | - com.name.service Для применения: (Он начинает со всеми контроллерами конечных точек) @SpringBootConfiguration класса приложений общественности {SpringApplication.run (Application.class, арг); } Для Application2 Я tryied, что не повезло: // @ SpringBootApplication (// scanBasePackages = { "com.name"}) @SpringBootConfiguration @ComponentScan (basePackages = { "com.name" }) общественный класс Application2 {SpringApplication.run (Application2.class, арг); } Я пробовал много вариантов, но не мог получить это право. Если я использую «com.name.storage», как basePackages приложения начинает без настройки на всех (не признавая покой оконечных точек из его контроллера), но прислушиваясь к новому порту. Можете ли вы мне помочь с правильной конфигурации?
Jonny
1

голосов
3

ответ
372

Просмотры

Spring @Transactional аннотаций делает мой класс не в состоянии Autowire

У меня есть класс SaveRoute, попавшие авто-проводная собственность SaveProcessor. Этот класс SaveProcessor получил метод, который аннотированный с @Transactional аннотации. Когда я пытаюсь запустить мое приложение, Java бросает исключение, инъекции зависимостей боб SaveProcessor не удалось. Когда я удалить аннотацию @Transactional из метода класса SaveProcess, он работает нормально. SaveRoute общественного класса SaveRoute реализует RouteBuilder {@Autowired личное SaveProcessor saveProcessor; } SaveProcessor общественного класса SaveProcessor реализует процессор {@Override общественного недействительными процесса (обмен Обмен) {this.save (); } @Transactional общественного недействительный Save () {}} Было бы здорово, если бы кто-то может помочь мне в этом. @Transactional решений SaveProcessor класс не является кандидатом для автоматического подключения.
Jewel Jose
1

голосов
2

ответ
35

Просмотры

Использование идентификаторов и значений из других мест в Спринг CrudRepository

Я учусь, как расширить CrudRepository интерфейса Spring, чтобы создать хранилище для объекта. Но у меня возникают проблемы реализации более сложных запросов, которые используют значения, не жестко закодированные. Вот надуманный пример. HQL не действует, но он показывает, что я пытаюсь сделать: импорт mypackage.DogTypeEnum; Интерфейс myRepository общественный расширяет CrudRepository {INT oldAge = 10; // года - стары для собаки @Query (ВЫБРАТЬ собака из собак собак ГДЕ dog.age> oldAge и dog.type = DogTypeEnum.poodle общественного Списка findOldPoodles ()} Таким образом, в приведенном выше примере, я пытаюсь запросить все собаки типа пуделя, которые в течение определенного порога возраста. Я не хочу жесткий код либо пудель или значение 10, так как эти значения, которые будут использоваться в другом месте в коде, а также и я хочу, чтобы избежать дублирования. Я не хочу, чтобы требовать от пользователя передать эти значения в качестве параметров либо. Есть ли способ сделать это?
J-bob
1

голосов
1

ответ
1.4k

Просмотры

Тестирование Spring загрузки кэша (Кофеин)

У меня есть кэш конфигурации, как показано ниже; @Configuration класс CacheConfiguration общественного {@Bean общественного CacheManager cacheManager (Ticker тикер) {CaffeineCache bookCache = buildCache ( "книга", тикер, 30); SimpleCacheManager cacheManager = новый SimpleCacheManager (); cacheManager.setCaches (Collections.singletonList (bookCache)); вернуться cacheManager; } Частная CaffeineCache buildCache (имя String, Ticker тикер, внутр minutesToExpire) {возвратить новый CaffeineCache (имя, Caffeine.newBuilder () .expireAfterWrite (minutesToExpire, TimeUnit.MINUTES) .maximumSize (100) .ticker (тикер) .build ()) ; } @Bean общественного Тикер тикер () {вернуть Ticker.systemTicker (); }} И обслуживание я хочу тест: @Service общественного класса TestServiceImpl реализует TestService {личной окончательное BookRepository bookRepository; // интерфейс @Autowired общественности TestServiceImpl (конечная BookRepository bookRepository) {this.bookRepository = bookRepository; } @Override общественного Книга getByIsbn (String ISBN) {вернуться bookRepository.getByIsbn (ISBN); }} Требуемый метод в хранилище помечается @Cacheable ( «книга»). @Override @Cacheable ( "книга") публичная книга getByIsbn (String ISBN) {LOGGER.info ( "Fetching книга ..."); simulateSlowService (); // Ожидание в течение 5 секунд вернуться новую книгу (ISBN, «Некоторые книги»); } Мне нужно написать тест, показывающий работает кэширование. Таким образом, я создал еще один тикер боб в тесте, чтобы переопределить один существующий в CacheConfiguration. Код; @RunWith (SpringRunner. класс) @SpringBootTest общественного класса TestServiceTests {частный статический финал Строка BOOK_ISBN = "ISBN-8442"; @SpyBean личное BookRepository bookRepository; @Autowired частный TestService TestService; @Configuration @Import (SpringBootCacheApplication.class) публичный статический класс TestConfiguration {//testCompile('com.google.guava:guava-testlib:23.6-jre ') статический FakeTicker fakeTicker = новый FakeTicker (); @Bean общественности Ticker тикер () {вернуться fakeTicker :: чтения; }} @Before общественная недействительная нАлАдкА () {Книга Книга = fakeBook (); doReturn (книга) .when (bookRepository) .getByIsbn (BOOK_ISBN); } Частная книга fakeBook () {вернуть новую книгу (BOOK_ISBN, "Мока книги"); } @Test общественного недействительными shouldUseCache () {// Начало При 0 минут testService.getByIsbn (BOOK_ISBN); проверить (bookRepository, раз (1)) getByIsbn (BOOK_ISBN). // Через 5 минут от начала, он должен использовать кэшированный объект TestConfiguration.fakeTicker.advance (5, TimeUnit.MINUTES); testService.getByIsbn (BOOK_ISBN); проверить (bookRepository, раз (1)) getByIsbn (BOOK_ISBN). // НЕ ЗДЕСЬ // Через 35 минут от начала, он должен вызвать метод снова TestConfiguration.fakeTicker.advance (30, TimeUnit.MINUTES); testService.getByIsbn (BOOK_ISBN); проверить (bookRepository, раз (2)) getByIsbn (BOOK_ISBN). }} Но он не на линии, помеченной // FAILS ЗДЕСЬ с сообщением; org.mockito.exceptions.verification.TooManyActualInvocations: simpleBookRepository. getByIsbn ( "ISBN-8442"); Требуется 1 раз: -> в sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) Но было в 2 раза. Нежелательный вызов: -> в sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) Почему это не удается? Не должна ли она использовать кэш? Или мой тест не так? Любая помощь или указатели с благодарностью! :)
Raj
0

голосов
0

ответ
10

Просмотры

Как изменить имя пользователя / пароль, и во время выполнения базы данных с помощью HikariCP

У меня есть мульти приложение арендатора, который пытается подключиться к базе данных на арендатор и каждую базу данных будет иметь свой собственное имя пользователя / пароль. Я хочу, чтобы достичь этого, используя один источник данных путем переключения между источниками данных и пользователями. Я попытался установить имя пользователя и пароль во время выполнения на получение соединения. Подключение CNX = datasource.getConnection (имя пользователя, пароль); cnx.setCatalog (DATABASENAME); К сожалению, GetConnection (имя пользователя, пароль) не реализован в HikariCP 3.1.0 Есть ли способ для достижения этой цели. Я знаю, что я могу создать источник данных для каждого запроса и закройте его после выполнения запроса (не хорошее решение). Кроме того, у меня есть более чем 5000 жильцов, поэтому кэширование источника данных не вариант в моем случае. Любая помощь будет высоко ценится! Заранее спасибо.
Srik91
1

голосов
0

ответ
108

Просмотры

По умолчанию Enum Конструктор Exception Весной ботинок

У меня есть такое определение Enum :: публичной перечислимой PromoUsage {ONLINE, OFFLINE, ONLINE_AND_OFFLINE; } У меня есть еще один класс, где я использовать Enum как это :: @Embedded @column (имя = "promoUsage", обнуляемого = ложь) @NotNull @Enumerated (EnumType.STRING) частный PromoUsage promoUsage; Теперь, когда я бег моего приложения Spring загрузки, я получаю это исключение :: org.hibernate.InstantiationException: конструктор по умолчанию отсутствует для объекта:: com.grabone.model.PromoUsage Его жалуясь конструктором по умолчанию для перечисления. Я изменил перечисление на этот :: общественного перечисление PromoUsage {ONLINE (), OFFLINE (), ONLINE_AND_OFFLINE (); PromoUsage () {}}, но все еще получаю ту же ошибку конструктор по умолчанию. Как я объявляю правильный конструктор по умолчанию для перечисления. Что я делаю неправильно? Спасибо
Eddy Freeman
1

голосов
0

ответ
77

Просмотры

Spring @WebFilter вызывает 404 на прод, прекрасно работает на местном

Я использую @WebFilter с = опцией urlMapping «/ *». (Также попытался с сервлета). Я использую его, чтобы управлять своим OAuth единого входом дополнениями. Он прекрасно работает на местном с котом на затмение. На прод он бросает 404. Отключение фильтра (таким образом, путем пропускания фильтра) работает отлично. Любые указатели кто? AppConfig.java: @Configuration @EnableWebMvc @EnableAsync @ComponentScan (basePackages = "com.my.package") общественный класс AppConfig расширяет WebMvcConfigurerAdapter реализует AsyncConfigurer {общественного ViewResolver viewResolver () {InternalResourceViewResolver viewResolver = новый InternalResourceViewResolver (); viewResolver.setPrefix ( "/"); viewResolver.setSuffix ( "HTML".); viewResolver.setExposeContextBeansAsAttributes (истина); вернуться viewResolver; } @Bean общественного ViewResolver contentNegotiatingViewResolver () {ContentNegotiatingViewResolver распознаватель = новый ContentNegotiatingViewResolver (); Список viewResolvers = новый ArrayList (); viewResolvers.add (viewResolver ()); resolver.setViewResolvers (viewResolvers); вернуться распознаватель; } AppInitializer.java: общественный класс AppInitializer реализует WebApplicationInitializer {общественного недействительными OnStartup (ServletContext контейнер) бросает ServletException {//container.addFilter("name», AccessFilter.class); // Пытались переключая это AnnotationConfigWebApplicationContext CTX = новый AnnotationConfigWebApplicationContext (); // отображение конфигурации ctx.register (AppConfig.class); ctx.setServletContext (контейнер); ServletRegistration.Dynamic сервлет = контейнер. addServlet ( "грузоотправитель", новый DispatcherServlet (CTX)); servlet.setLoadOnStartup (1); servlet.addMapping ( "/"); }} MyFilter.java: // @ WebFilter (urlPatterns = "/ *") // Комментируя это из прекрасно работает. Проблема, безусловно, с фильтром. общественный класс AccessFilter реализует фильтр {SSOHelper ssoHelper; общественного недействительными инициализации (FilterConfig FilterConfig) бросает ServletException {// инициализация помощника и внутреннее свойство объектов System.out.println ( «Фильтр инициализации для диспетчера сервлета»); ssoHelper = новый SSOHelper (); } DoFilter (запрос ServletRequest, ответ ServletResponse, FilterChain цепь) бросает IOException, ServletException {HttpServletRequest HTTPRequest = (HttpServletRequest) запроса общественного недействительными; Ответ HttpServletResponse HTTPResponse = (HttpServletResponse); // Это никогда не ударил при нанесении на прод. Местные работает, как ожидалось. }
dixyantar panda
1

голосов
0

ответ
71

Просмотры

цикл не работает в JavaScript, а второй попытки

Я застрял в очень странной проблемой нужна помощь. На самом деле я пытаюсь присвоить некоторое значение для динамически создаваемого поля ввода. Таким образом, я попытался следующий фрагмент кода. Я хочу сказать, в первом этапе я только нужно присвоить значение для первых 10 идентификаторов, а затем снова, если назначение некоторых других значений остальных идентификаторов, то он не функция JavaScript callAssignMark () {вар rightMarkVal = $ ( «# rightMarkVal»). Вэл (); вар wrongMarkVal = $ ( "# wrongMarkVal") Вал (). . Вар начальная = $ ( "# с") Вал (); . вар последние = $ ( "# к") знач (); console.log ( 'fromWhere -' + начальная); console.log ( '--- к' + последний); предупреждение ( 'Перед Loop'); для (вар I = начальный; я
Created Bylucky
1

голосов
1

ответ
144

Просмотры

What is the relationship between outer transaction and inner transaction?

Я новичок в спящий режим и когда я использую операции я встретил пару вопросов. Ранее ситуация @Transactional класса А {methodA1 () {DOS = fetchDOsFromDB (); methodA2 (децентрализованные); } MethodA2 (децентрализованные) {ClassB.methodB1 (ДО); }} Класс B {@Transactional (распространение = Propagation.REQUIRES_NEW) methodB1 (децентрализованные) {dealWithDOs (); }} Но я нашел, когда количество децентрализованного огромно, это даст соединение закрыто исключение. Поэтому мне интересно, если первопричина я проходил мимо ДОС methodB1, связывавшую с транзакцией в А и сделки А не может быть совершено в течение длительного времени. Итак, это первый вопрос, я знаю @Transactional (распространение = Propagation.REQUIRES_NEW) будет делать внешняя транзакция приостанавливается, но что это точно значит приостановить? Есть ли у него тайм-аут? И если я не сдал ДОС ClassB, вместо этого, Я methodA1 () {DOS = fetchDOsFromDB (); список Список = getIds (ОСН); methodA2 (список); } MethodA2 (список) {ClassB.methodB1 (список); }, Которая означает, что я не полагаться на децентрализованном, это поможет? Есть ли связь между совершением сделкой А и бегущим результате сделки B? Другими словами, делает совершение сделки необходимости ждать завершения methodB1?
yilia
1

голосов
1

ответ
233

Просмотры

GAE (Spring Загрузочного App) CO чек не возвращает Access-Control-Allow-Origin заголовка

Я провел целый день, пытаясь развернуть Spring загрузки приложения (REST API) для Google App Engine, и я застрял, пытаясь пройти конфигурации CORS. Приложение весной работает локально, так что я знаю, что конфигурация Spring CORS является правильной. Тем не менее, я получаю следующее сообщение об ошибке при развертывании на GAE. Не удалось загрузить https://avian-infusion-156317.appspot.com/api/login: Ответ на предполетной запроса не проходит проверку контроля доступа: заголовок Нет «Access-Control-Allow-Origin» присутствует на запрошенный ресурс , Происхождение «HTTP: // локальный: 8100», следовательно, не имеет права доступа. Ниже обмениваемые заголовки из Инструментов разработчика Chrome: Общий запрос URL: https: //avian-infusion-156317.appspot.com/api/login Метода запроса: OPTIONS Кода состояния: 200 Удаленного адрес: 172.217.26.52: 443 Referrer политика : нет-реферер-когда-понижение рейтинга Заголовки запросов: орган: avian-infusion-156317.appspot.com: Метод: ДОП: путь: / API / Логин: схема: HTTPS принимаем: * / * Accept-Encoding: GZIP, выкачать, уш Accept-Language: KO-KR, Ко; д = 0,9, EN-US; д = 0,8, ан; Q = 0,7 контроля доступа-Request-заголовки: Content-Type контроля доступа-запроса метод: POST происхождение: HTTP : // локальный: 8100 агент пользователя: Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit / 537,36 (KHTML, как Gecko) Chrome / 63.0.3239.84 Safari / 537.36 Заголовки отклика позволяют: GET, HEAD, POST, TRACE , ВАРИАНТЫ альт-SVC: HQ = ": 443"; ма = 2592000; Quic = 51303431; Quic = 51303339; Quic = 51303338; Quic = 51303337; Quic = 51303335, Quic = ": 443"; ма = 2592000; v = "41,39,38,37,35" Content-Length: 0 тип содержимого: текст / дата HTML: Ср, 3 января 2018 16:22:06 GMT Сервер: Google Frontend статус: 200 х-облако след -context: 7369ca471aca5fe01fb46903e9af3b9f; о = 1 Как вы можете видеть, заголовок 'Access-Control-Allow-Origin' отсутствует в ответ. Я поставил конфигурацию Корс на GAE следующим образом: GSUtil CORS получить GameSpot: //avian-infusion-156317.appspot.com [{ "maxAgeSeconds": 3600, "метод": [ "*"], "происхождение": [ "*"], "responseHeader": [ "Content-Type", "разрешение"]}] Прежде чем прибегать к * для начала, я попробовал конкретный URL, а именно 'HTTP: // локальный: 8100' не дало никаких результатов. Что мне не хватает? Пожалуйста помоги! [ "*"], "Происхождение": [ "*"], "responseHeader": [ "Content-Type", "разрешение"]}] Прежде чем прибегать к * для начала, я попробовал конкретный URL, а именно «HTTP : // локальный: 8100' безрезультатно. Что мне не хватает? Пожалуйста помоги! [ "*"], "Происхождение": [ "*"], "responseHeader": [ "Content-Type", "разрешение"]}] Прежде чем прибегать к * для начала, я попробовал конкретный URL, а именно «HTTP : // локальный: 8100' безрезультатно. Что мне не хватает? Пожалуйста помоги!
Calvin Son
1

голосов
0

ответ
388

Просмотры

Как обрабатывать правильно HTTP Accept заголовок при пустой или нулевой?

Я работаю с Spring Framework о Rest. У меня есть сценарий о тестировании, когда запрос является GET и принимает либо пустым или нулевым. Он тесно связан с: @GetMapping называется, даже если Accept определяются как нулевые, я прочитал следующее: Как интерпретировать пустую HTTP Accept заголовка? Что значит «Accept: /» означает под клиентом разделом заголовков запроса? Кажется, следующие варианты, как решения являются действительными: 400 Bad Request 406 Не Приемлемый Рассмотрим пустое или нулевое значение Accept как * / * вместо трех вариантов, что причина этого поста. Между двумя первыми, я считаю более целесообразным 406 не приемлем, потому что она специфична или жесткая для Accept. Я имею в виду, какой тип носителя представляет собой пустой или нуль? это не известен тип носителя, такой как XML или JSON Третий вариант кажется нелогичным, в соответствии со следующими пунктами (в соответствии мои собственные точки зрения, может быть, я неправильно или что-то отсутствует): Сервер имеет метод обработчика для GET, который возвращает либо XML или JSON, такие как: @GetMapping (путь = "/ {ID} », производит = {MediaType.APPLICATION_XML_VALUE, MediaType.APPLICATION_JSON_UTF8_VALUE}) общественного @ResponseBody Персона findOneById (@PathVariable строковый идентификатор) {вернуть personaService.findOneById (ID); } Клиент должен иметь ясно с самого начала, что он будет делать запрос и обрабатывать ответ либо XML или JSON, согласно акцепт отправлен по запросу. Таким образом, по какой-либо причине, если запрос отправлен имеет Accept, как пустой (предположим, неправильное кодирование), Это третья точка (* / *), что я не могу понять: «пусть сервер возвращать любой тип носителя»; даже при том, что, позволяет предположить, сервер возвращает XML и клиент просто может обрабатывать JSON вместо этого, но, конечно, Accept, как Json не был указан с самого начала. Таким образом, клиент сразу получил ответ должен получить исключение, но заметит, что сервер сделал работу без необходимости Таким образом: Как обрабатывать правильно HTTP Accept заголовка при пустом или нуле?
Manuel Jordan
1

голосов
2

ответ
1.2k

Просмотры

Весна / кот не удается загрузить класс драйвера: com.mysql.jdbc.driver

В последнее время я пытался узнать загрузку пружины. У меня есть следующие соответствующие файлы: класс @Configuration: Я использую это, чтобы создать EntityManagerFactory класса @Entity: Я использую это для сопоставления экземпляра MySQL таблицы в @Repository crudrepository интерфейса: это встроено в весной в @Controller класса : используется для проверки автоматической проводки (когда я могу вводить, я буду двигаться в этом на уровне услуг) класс @SpringBootApplication: это работает мое приложение Н. application.properties подать pom.xml: используется для мавена и включает в себя MySQL банка класса сущностей отображенного в таблицу тузда и UserRepository класса (аннотированный с @Repository). Я пытаюсь привнести crudrepository класс через @Autowire аннотацию, но весной испытывает трудности с созданием источника данных для него, потому что он не может найти драйвер MySQL. Что меня смущает то, что у меня есть зависимость MySQL в мавена и я развертывания это на сервере GlassFish 4, но Spring пытается использовать Apache Tomcat для подключения к базе данных. Ниже мой трассировки стека, фрагменты кода, и MySQL-разъем: Соответствующий Трассировка стека (внутреннее исключение) Вызывается: org.springframework.beans.BeanInstantiationException: Не удалось создать экземпляр [org.apache.tomcat.jdbc.pool.DataSource]: Фабрика метод «Datasource» бросил исключение; вложенное исключение java.lang.IllegalStateException: Невозможно загрузить класс драйвера: com.mysql.jdbc.driver на org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy.java:189) ~ [весна-бобы-4.3. 13.RELEASE.jar: 4.3.13.RELEASE] на org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod (ConstructorResolver.java: 588) ~ [весна-бобы-4.3.13.RELEASE.jar: 4.3.13.RELEASE] ... 62 общие рамки опущена Вызванный: java.lang.IllegalStateException: Не удается загрузить класс драйвера: com.mysql.jdbc.driver обратите внимание, как это пытается использовать org.apache.tomcat создать источник данных, даже если я использую GlassFish сервер. Имеет ли это значение? Исходный код: первое отношение исключение возникает, когда пружина пытается впрыснуть источник данных компонента, который является параметром этого метода и не может создать его @Configuration @EnableAutoConfiguration общественного класс AppConfigUtil {@Autowired @Bean общественного EntityManagerFactory EntityManagerFactory (DataSource DataSource) {LocalContainerEntityManagerFactoryBean бобы = новый LocalContainerEntityManagerFactoryBean (); bean.setPackagesToScan ( "com.connor"); bean.setDataSource (DataSource); вернуть bean.getObject ();
Connor Butch
1

голосов
1

ответ
246

Просмотры

Как обращаться с JWT аутентификации с Spring при реализации шаблона CQRS?

Используя новейшую Spring Cloud и Spring загрузку, у меня есть макет микро услуг с Zuul шлюзом. В тот момент, когда пользователь отправляет запрос получить их маркер JWT добавляется к запросу, и уходит в microservice, где они с проверкой подлинности и дела идут как обычно. Это все работает отлично. Где я немного застрял, когда обработка POST / PATCH / удаление запросов. Они не идут непосредственно к microservice они, предназначенные для, но вместо того, чтобы идти в очередь сообщений. Очередь содержит простой POJO с задачей и информацией о задаче выполнения, наряду с пользователями JWT. Когда принимающая microservice подхватывает сообщение из очереди и начинает обрабатывать его, пользователь технически не вошел в microservice, как они с запросом GET. Это делает его трудно делать то, что требуется знать, кто является пользователем. Конечно, каждый раз, когда мне нужно знать, кто этот человек, я могу смотреть их, но это, кажется неуклюжим. Я думал о создании контроллера REST для POST / PATCH / DELETE команды и имеющих слушателя очереди просто называют себя от них, добавляя маркер от задачи. Это будет фактически такой же, как запрос GET, насколько Spring безопасности будет все равно. Является ли это правильный шаблон? Или есть простой способ программно войти пользователь в с JWT? Я видел несколько примеров, используя имя пользователя / пароли, но не знает, как транскрибировать, что с помощью JWT. ве думал о создании контроллера REST для POST / PATCH / DELETE команды и имеющих слушателя очереди просто называют себя от них, добавляя маркер от задачи. Это будет фактически такой же, как запрос GET, насколько Spring безопасности будет все равно. Является ли это правильный шаблон? Или есть простой способ программно войти пользователь в с JWT? Я видел несколько примеров, используя имя пользователя / пароли, но не знает, как транскрибировать, что с помощью JWT. ве думал о создании контроллера REST для POST / PATCH / DELETE команды и имеющих слушателя очереди просто называют себя от них, добавляя маркер от задачи. Это будет фактически такой же, как запрос GET, насколько Spring безопасности будет все равно. Является ли это правильный шаблон? Или есть простой способ программно войти пользователь в с JWT? Я видел несколько примеров, используя имя пользователя / пароли, но не знает, как транскрибировать, что с помощью JWT.
Chris Turner
1

голосов
1

ответ
1.3k

Просмотры

весна-облако конфигурации сервера - org.springframework.cloud.config.server.environment.NoSuchRepositoryException | Не удается клонировать или хранилище фотографии :?

Я работаю с Spring Клом, и с помощью Config-сервер экстернализовать свойство микро-услуги. Ниже файл манифеста сервер конфиг-сервера: порт: 8888 весна: облако: конфигурации: Сервер: мерзавец: URI: https://github.com/Girdhars/config-server.git приложения: имя: Управление конфиг-сервера: безопасность : включено: ложь, но при обращении к Rest Endpoint Http: // локальный: 8888 / приложение / по умолчанию я получаю ниже исключения. { "Отметка времени": 1515082055134, "статус": 404, "ошибка": "Not Found", "исключение": "org.springframework.cloud.config.server.environment.NoSuchRepositoryException", "сообщение": «Не удается клонировать или выписка хранилище: https://github.com/Girdhars/config-server.git»,
1

голосов
1

ответ
240

Просмотры

Spring REST эквивалент ContainerRequestContext

Что такое весна эквивалент ContainerRequestContext Джерси? Я пытаюсь получить SecurityContext (.getSecurityContext ()), как мы можем с ContainerRequestContext. Есть ли весна-MVC-то подобное?
user9176614
1

голосов
1

ответ
457

Просмотры

Чем отличается между использованием расширения () в UriComponentsBuilder и добавить значение напрямую?

Чем отличается между использованием расширения () в UriComponentsBuilder и добавить значение напрямую? // # 1 Строка URI = UriComponentsBuilder.fromUriString (someUrl) .path ( "/" + var1 + "/ путь1 /" + var2) .build (); .toUriString (); // # 2 Карта pathVariableMap = новый HashMap (); pathVariableMap.put ( "var1", "var1"); pathVariableMap.put ( "var2", "var2"); Строка URI = UriComponentsBuilder.fromUriString (someUrl) .path ( "/ {var1} / путь1 / {var2}") .buildAndExpand (pathVariableMap) .toUriString (); Итак, почему мы используем расширение () для построения URI? для удобства чтения?
상경하
1

голосов
0

ответ
711

Просмотры

Как добавить роли в безопасности Spring загрузки из Zuul фильтра

Я занимаюсь разработкой приложений Spring Загрузочный REST, который имеет пользовательский маркер проверки подлинности системы. Маркер имеет роли для пользователя, как претензия. А Zuul прокси перенаправляет трафик на несколько microservices весны загрузки и я хотел бы добавить фильтр к Zuul так, что он извлекает роли из маркеров (хранятся в виде претензий) и устанавливает их в среде Spring безопасности (который я не знать внутренности), так что я могу настроить доступ в микро услуг с использованием стандартного подхода Spring безопасности, используя, например, WebSecurityConfigurerAdapter:. защищено недействительная Configure (AuthenticationManagerBuilder авторизация) бросает исключение {auth.inMemoryAuthentication () withUser ( «user1») .password ( "secret1") .roles ( "USER"). и (). withUser ( "admin1"). пароль ( "secret1" ) .roles ( "пользователь", "ADMIN"); } Таким образом, перефразировать ... как я могу включить эти роли из моих пользовательских маркеров, используя фильтр предварительной очистки в Zuul таким образом, они являются частью объекта AuthenticationManagerBuilder?
icordoba
1

голосов
1

ответ
593

Просмотры

Загрузить синтаксис Cron из базы данных в приложении загрузки яровой

Это мой Запланированные класс задачи @Component общественного класс ScheduledTask {частные статические окончательный Logger ЛЕСОЗАГОТОВИТЕЛИ = LoggerFactory.getLogger (ScheduledTask.class); частный статический окончательный SimpleDateFormat DateFormat = новый SimpleDateFormat ( "HH: мм: сс"); @Scheduled (хрон = "$ {scheduling.job.cron}") общественного недействительными reportCurrentTime () {LOGGER.info ( "Время теперь {}", dateFormat.format (новая дата ())); }} В настоящее время я загрузка cronjob синтаксиса из application.properties файла. Но я хочу, чтобы загрузить хроны синтаксиса из базы данных SQL в начале приложения Spring загрузки. Вот мой сценарий базы данных, которая имея синтаксис cronjob CREATE TABLE tbl_configuration_details (config_id INT NOT NULL, schedule_time INT NOT NULL, schedule_time_format NVARCHAR (10) NOT NULL, data_ttl INT NOT NULL,
Dharita Chokshi
1

голосов
2

ответ
58

Просмотры

Угловой 2 интерфейс не соединяясь с бэкэндом - ПОСЛЕ РАЗМЕЩЕНИЯ

Я разработал angular2 проект в http://www.demo.aranidhi.in Backend для этого приложения разрабатывается в весеннем ботинке, который размещен в http://env-7423163.cloud.cms500.com. Если я пытаюсь соединить передний и бэкенд я получаю эту ошибку Но это работает в девелоперской машине ... Я не знаю, как. Я думаю, что в то время как экспорт в войну я что-то отсутствует. Можете ли вы направить меня
Monicka Akilan
1

голосов
0

ответ
115

Просмотры

Running a Spring + React Application - Node Issue

Я пытаюсь запустить комплектный Spring + Реагировать приложение от Spring здесь - я за корпоративным брандмауэром поэтому, естественно, я бегу в некоторых проблем с зависимостями. Каждый в ПОМ устанавливает штраф, но следующее выполнение (s) не устанавливать узла, так и НПМ INSTALL-узла и-НПМ v4.4.5 3.9.2 НПМ установить НПМ установить я получаю следующее сообщение об ошибке после выполнения МВН установки [ERROR] Не удалось для выполнения цели com.github.eirslett: внешний интерфейс-maven- плагин: 1.2: установка-узла-и-НПМ (установить узел и НПМ) по проекту привет-весна-реакции: не удалось загрузить Node.js с: https: // nodejs.org/dist/v4.4.5/win-x64/node.exe: не удалось загрузить https://nodejs.org/dist/v4.4.5/win-x64/node.exe: sun.security.validator.ValidatorException : PKIX путь здание не удалось: sun.security.provider.certpath.SunCertPathBuilderException: не удалось найти правильный путь сертификации к запрошенной цели -> [Помощь 1] У меня есть локальная установка узла и НПМ, так что мне интересно, если это будет возможно использовать их (а чем решить очевидную проблему сертификата)? Если нет, то может кто-нибудь объяснить, почему мой и / или как устранить эту ошибку сертификата? Большое спасибо!
Kurai Bankusu
1

голосов
1

ответ
211

Просмотры

Spring Batch: Использование ExcecutionContext пройти шаг атрибутов

У меня есть несколько весны пакетных заданий с количеством шагов, которые принимают переменное количество времени для запуска. Теперь нужно определить пороговые значения для каждого шага, чтобы проверить, если его пробег пересекает пороговое время. Я думал как-то проходя это значение ExcecutionContext класса StepExecution. Я прошел через https://docs.spring.io/spring-batch/trunk/reference/html/configureJob.html и другие документы, чтобы узнать, как значения передаются ExcecutionContext, но не смог найти ничего. Может кто-нибудь помочь мне понять, как ExcecutionContext для StepExecution инициализируется и я могу передать некоторые пользовательские параметры при каждом определении шага?
Pradip Borde
1

голосов
1

ответ
497

Просмотры

Начало Спринг загрузки Безопасность Работа с Azure AD

В настоящее время пытается получить Azure AD интегрирован с приложением Spring загрузки, я работаю. Я с использованием пакета лазурь-активного каталога весна-загрузки стартера, и следуя примеру, изложенным в официальной документации на веб-сайте Microsoft. Однако, когда, следуя примеру, я получаю следующее сообщение об ошибке: ossocrUserRedirectRequiredException: редирект требуется, чтобы получить одобрение пользователей Полный трассировки стека выглядит следующим образом: org.springframework.security.oauth2.client.resource.UserRedirectRequiredException: редирект требуется, чтобы получить одобрение пользователей на org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeAccessTokenProvider.getRedirectForAuthorization (AuthorizationCodeAccessTokenProvider.java:359) ~ [весна-безопасности-oauth2-2.0.14.RELEASE.jar: на] в org.springframework. security.oauth2.client.registered переадресация-Ури security.oauth2.client.pre учредил переадресацию-URI), но не смогли ничего нажимать совсем правильно. Я отправил комментарий к документу, но полагал, что я бы бросить его здесь, в случае, если кто имеет какую-либо идею!
ReservedDeveloper
1

голосов
1

ответ
1.8k

Просмотры

Spring Загрузочный тестирование java.lang.IllegalStateException: Не удалось загрузить ApplicationContext и недостающую боб

Я, кажется, попал сам в петлю, пытаясь исправить это. Я думал, что фасоль не хватает, так что я бы @MockBean имени класса он сказал, что это не хватает, запустить его снова, и он сказал бы еще один класс отсутствует. Классы это erroring над не даже те, я тестирую. Почему это происходит? Я знаю, что тест будет ошибка, когда он на самом деле работает. Но я могу работать с этим, в настоящее время это даже не попасть туда, я не думаю. Это мой тест: @RunWith (SpringRunner.class) @WebMvcTest (CompanyController.class) общественного класса CompanyTest {@Autowired личное MockMvc MVC; @MockBean CompanyService companyService; @Test общественный недействительный nameChangeIsSuccessful () бросает исключение {компании а = новую компанию ( "TestCompany", 1,1); Строка Старое_имя = a.getName (); Строка NEWNAME = " 191) в org.junit.runner.JUnitCore.run (JUnitCore.java:137) при com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs (JUnit4IdeaTestRunner.java:68) в com.intellij.rt.execution.junit.IdeaTestRunner $ Repeater .startRunnerWithArgs (IdeaTestRunner.java:51) при com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart (JUnitStarter.java:242) в com.intellij.rt.execution.junit.JUnitStarter.main (JUnitStarter.java:70 ) Вызванный: org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании боб с именем 'companyController', определенных в файле [C: \ Users \ C1641195 \ Documents \ ComercialJava \ EvolveFork \ Team13_fork \ построить \ классы \ главная \ ком \ АНБ \ \ эволюционирует контроллер \ CompanyController.class]: Неудовлетворенная зависимость выражается через параметр конструктора 0; вложенное исключение org.springframework.beans.factory. NoSuchBeanDefinitionException: Нет квалификационная рожкового типа «» com.nsa.evolve.service.PeopleTypeService доступных: ожидается, по крайней мере, 1 боб, который квалифицируется как autowire кандидата. Зависимость от аннотаций: {} на org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray (ConstructorResolver.java:749) в org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor (ConstructorResolver.java:189) в Org. springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor (AbstractAutowireCapableBeanFactory.java:1193) при org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java:1095) при org.springframework.beans.factory.support. AbstractAutowireCapableBeanFactory. loadContext (DefaultCacheAwareContextLoaderDelegate.java:116) ... 25 еще не Вызванный: org.springframework.beans.factory.NoSuchBeanDefinitionException: Нет квалификационную боб типа «» com.nsa.evolve.service.PeopleTypeService доступных: ожидается, по крайней мере, 1 боб, который квалифицируется как autowire кандидата. Зависимость от аннотаций: {} на org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound (DefaultListableBeanFactory.java:1493) в org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency (DefaultListableBeanFactory.java:1104) в Org. springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency (DefaultListableBeanFactory.java:1066) при org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument (ConstructorResolver.java:
Aaria

Просмотр дополнительных вопросов