Tôi cần bộ lọc đơn giản nhất theo tiện ích mở rộng: f.e. nộp 20120523.173227.CustomerMaster05092012.QWERTY.xml tuyến đường:Cách lọc tệp theo tiện ích sử dụng tham số bao gồm trong thành phần Camel File2
<from uri="file://{{fdr.folder.working.url}}&include=*.xml"/>
không hoạt động:
lơ lửng vật meta '*' gần index 0
WARN - file://root_folder/working/) [FileConsumer] Consumer Consumer[file://root_folder/working/?delay=1000&delete=true&idempotent=false&include=*.xml&initialDelay=1000&readLock=changed] failed polling endpoint: Endpoint[file://root_folder/working/?delay=1000&delete=true&idempotent=false&include=*.xml&initialDelay=1000&readLock=changed]. Will try again at next poll. Caused by: [java.util.regex.PatternSyntaxException - Dangling meta character '*' near index 0
*.xml
^]
java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
*.xml
^
at java.util.regex.Pattern.error(Pattern.java:1713)
at java.util.regex.Pattern.sequence(Pattern.java:1878)
at java.util.regex.Pattern.expr(Pattern.java:1752)
at java.util.regex.Pattern.compile(Pattern.java:1460)
at java.util.regex.Pattern.<init>(Pattern.java:1133)
at java.util.regex.Pattern.compile(Pattern.java:823)
at java.util.regex.Pattern.matches(Pattern.java:928)
at java.lang.String.matches(String.java:2090)
at org.apache.camel.component.file.GenericFileConsumer.isMatched(GenericFileConsumer.java:458)
at org.apache.camel.component.file.GenericFileConsumer.isValidFile(GenericFileConsumer.java:395)
at org.apache.camel.component.file.FileConsumer.pollDirectory(FileConsumer.java:94)
at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:107)
at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:142)
at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:92)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
ok có lẽ xấu của tôi. Tôi đặt toàn bộ tệp để bao gồm:
<from uri="file://{{fdr.folder.working.url}}&include=20120523.173227.CustomerMaster05092012.QWERTY.xml"/>
Toàn bộ tệp là OK. Hãy thử đặt * ở giữa tên tệp
<from uri="file://{{fdr.folder.working.url}}&include=20120523.*.xml"/>
và một lần nữa là OK. Hãy đặt chỉ có một chữ số trong tên tập tin
<from uri="file://{{fdr.folder.working.url}}&include=2*.xml"/>
noup, lạc đà không tìm thấy tập tin như vậy tôi đã cố gắng thoát khỏi dấu hoa thị nhưng nó did't giúp đỡ.
<from uri="file://{{fdr.folder.working.url}}&include=\*.xml"/>
and
<from uri="file://{{fdr.folder.working.url}}&include=\\*.xml"/>
Tệp vừa bị bỏ qua. để câu hỏi 1: cách sử dụng dấu hoa thị?
và câu hỏi 2: cách sử dụng các tiện ích mở rộng tệp đa phương tiện, như include = .xml; .zip
thks
Có chỉ là một biểu hiện thường xuyên của nó, vì vậy những gì bạn có thể làm với Java API biểu thức thông thường là một phần của bộ lọc đó. –
Bạn có thể đánh dấu câu hỏi này là đã trả lời không? –
Bạn nên thoát khỏi 'cuối cùng'. tính cách. Nếu không, bạn sẽ khớp các tệp như fooxml hoặc barzip – Artur