HOW: Apache Camel, Regex match files

前端 未结 4 1582
别跟我提以往
别跟我提以往 2020-12-31 21:54

im experimenting in getting camel to do some file operations and pass them through the activeMQ broker, ive taken this project over from a guy who recently quit.

wha

相关标签:
4条回答
  • 2020-12-31 22:00

    In the implementation of name matching, the following code is used:

    if (ObjectHelper.isNotEmpty(endpoint.getInclude())) {
        if (!name.matches(endpoint.getInclude())) {
            return false;
        }
    }
    

    So you can test which regular expression you should use. In you case, I think .*2280\\.xsl is what you should use.

    0 讨论(0)
  • 2020-12-31 22:11

    Use the include option that uses Java regular expression:

    include=.*2280\\.xsl
    

    Please, mind the \\ before the dot .

    Alternatively, use antInclude:

    antInclude=*2280.xsl
    
    0 讨论(0)
  • 2020-12-31 22:15

    Yeah you need to use the include/exclude/filter option if you want to filter out files based on patterns. The fileName option is for a single file.

    So in your case, remove fileName option and replace it with include=.*2280.xsl. Mind that the include is based on Java regular expressions, so we use dot star to indicate wildcard. More details here: https://camel.apache.org/components/latest/file-component.html. The ftp component inherits 99% of the options of the file component, so that is why I refer to the file wiki page.

    0 讨论(0)
  • 2020-12-31 22:16

    For that kind of filtering I recommend to use the GenericFileFilter

    0 讨论(0)
提交回复
热议问题