Ошибка при запуске задач с несколькими аргументами из потока данных весеннего облака пользовательского интерфейса - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть пакетное задание с 2 параметрами.когда я передаю эти аргументы во время прямого запуска файла jar, он работает.Кроме того, когда я передаю эти аргументы через оболочку потока данных весеннего облака, он работает:

dataflow:>task launch --name adv-load --arguments "appnexus_seat=SEAT_MIQ_1 last_modified=2018/08/10"
Launched task 'adv-load'

Но когда я передаю подобные аргументы во время выполнения задачи из пользовательского интерфейса, происходит сбой.Пример. В пользовательском интерфейсе я передал: appnexus_seat & last_modified как 2 ключа с такими же значениями, как указано выше, но с другой датой, чтобы он не считал свою работу одинаковой.Это не удалось.

Однако мне удалось найти проблему.Когда я запускаю задачу через оболочку, в логах я получаю это:

2018-09-21 14:04:50.970  INFO 4035 --- [           main] o.s.b.a.b.JobLauncherCommandLineRunner   : Running default command line with: [appnexus_seat=SEAT_MIQ_1, last_modified=2018/08/10, --spring.cloud.task.executionid=5]
2018-09-21 14:04:51.073  INFO 4035 --- [           main] o.s.b.c.l.support.SimpleJobLauncher      : Job: [FlowJob: [name=advertiserLoadJob]] launched with the following parameters: [{appnexus_seat=SEAT_MIQ_1, -spring.cloud.task.executionid=5, last_modified=2018/08/10}]
2018-09-21 14:04:51.081  INFO 4035 --- [           main] o.s.c.t.b.l.TaskBatchExecutionListener   : The job execution id 5 was run within the task execution 5
2018-09-21 14:04:51.116  INFO 4035 --- [           main] o.s.batch.core.job.SimpleStepHandler     : Executing step: [advertiserLoadStep1]

В то время как когда я запускаю ее через пользовательский интерфейс, я получаю это:

2018-09-21 14:05:57.417  INFO 4924 --- [           main] o.s.b.a.b.JobLauncherCommandLineRunner   : Running default command line with: [appnexus_seat=SEAT_MIQ_1,last_modified=2018/08/10, --spring.cloud.task.executionid=6]
2018-09-21 14:05:57.518  INFO 4924 --- [           main] o.s.b.c.l.support.SimpleJobLauncher      : Job: [FlowJob: [name=advertiserLoadJob]] launched with the following parameters: [{appnexus_seat=SEAT_MIQ_1,last_modified=2018/08/10, -spring.cloud.task.executionid=6}]
2018-09-21 14:05:57.528  INFO 4924 --- [           main] o.s.c.t.b.l.TaskBatchExecutionListener   : The job execution id 6 was run within the task execution 6
2018-09-21 14:05:57.586  INFO 4924 --- [           main] o.s.batch.core.job.SimpleStepHandler     : Executing step: [advertiserLoadStep1]
2018-09-21 14:05:57.653 ERROR 4924 --- [           main] o.s.batch.core.step.AbstractStep         : Encountered an error executing step advertiserLoadStep1 in job advertiserLoadJob

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scopedTarget.advertiserLoadTasklet': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.mediaiq.appnexus.load.client.AppnexusRestClient com.mediaiq.appnexus.batch.tasklet.AbstractPageLoadTasklet.appnexusClient; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'JOB' defined in class path resource [com/mediaiq/appnexus/load/config/AppnexusRestClientFactory.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [com.mediaiq.appnexus.value.AppnexusSeat]: : Failed to convert value of type [java.lang.String] to required type [com.mediaiq.appnexus.value.AppnexusSeat]; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [com.mediaiq.appnexus.value.AppnexusSeat]: no matching editors or conversion strategy found; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert value of type [java.lang.String] to required type [com.mediaiq.appnexus.value.AppnexusSeat]; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [com.mediaiq.appnexus.value.AppnexusSeat]: no matching editors or conversion strategy found

Если вы посмотрите наРазница заключается в том, что когда я запускаю его через оболочку, он дает пробел между двумя аргументами, тогда как когда я запускаю его через пользовательский интерфейс, это не так.Отсутствие этого пробела приводит к проблеме, поскольку значение первого аргумента становится «SEAT_MIQ_1, last_modified = 2018/08/10» вместо того, чтобы просто быть «SEAT_MIQ_1», а last_modified - другим аргументом.

Пожалуйста, дайте мне знать, как решить эту проблему.Благодарю.:)

1 Ответ

0 голосов
/ 21 сентября 2018

Когда вы запускаете задачу из пользовательского интерфейса, вам нужно указать каждый аргумент в отдельном поле:

enter image description here

Это будет правильно передавать параметры втвоя задача.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...