Я использую файл spring-integration-file для отслеживания папки. Мне нужно игнорировать файлы, которые имеют.inprogress как расширение файла. Проблема заключается в регулярном выражении ^(.*(?<!\.inprogress))$
включает символ, который не разрешен во входящем-канальном адаптере. Использование этого метода создает исключение
org.xml.sax.SAXParseException: значение атрибута "filename-regex", связанное с типом элемента "file: inbound-channel-adapter", не должно содержать символ "<".
Есть ли другой способ написать выражение, чтобы он не использовал символ "<", или существует другой способ ограничения этого ограничения?
Я использую следующее: spring-integration-file 2.0.5.RELEASE Java 1.6
Вы можете избежать отрицательного lookbehind этим отрицательным регулярным выражением lookahead:
^(?!.*\.inprogress$)(.*)$
Кроме того, если вам нужно объявить <
в строке в XML, используйте <
,