In our case, we deploy link-move xml extractors separately from main app, which uses LmRuntime to start jobs.
If we redeploy link-move extractors or edit the extractor (xml-file), which is going to be used in next execution, without restarting the application, exception will be thrown
com.nhl.link.move.LmRuntimeException: Multiple values are present for property: extractor.jdbc.sqltemplate
at com.nhl.link.move.extractor.model.MutableExtractorModel.getPropertyValue(MutableExtractorModel.java:55)
at com.nhl.link.move.extractor.model.MutableExtractorModel.getProperties(MutableExtractorModel.java:37)
at com.nhl.link.move.extractor.model.ContainerAwareExtractorModel.getProperties(ContainerAwareExtractorModel.java:49)
at com.nhl.linkmove.extensions.extension.DefaultExtensionFactory.getExtensions(DefaultExtensionFactory.java:50)
at com.nhl.linkmove.extensions.DefaultSyncProcessorService.processor(DefaultSyncProcessorService.java:40)
Steps to reproduce:
- LinkMove extractors located outside of the jar (somewhere in file system)
- Start application which schedules jobs for execution (via cron, for instance)
- Wait for any job to finish it's work
- Edit xml-extractor of a job, which has been run previously
- Wait until next execution
- Exception is thrown
In our case, we deploy link-move xml extractors separately from main app, which uses LmRuntime to start jobs.
If we redeploy link-move extractors or edit the extractor (xml-file), which is going to be used in next execution, without restarting the application, exception will be thrown
Steps to reproduce: