java - Apache Camel 验证文件名模式
问题描述
我想知道在使用文件时验证文件名的最佳方法是什么。我知道我可以使用排除模式,并且我已经看到我可以定义客户 GenericFileFilter。
但这些过滤器返回真或假。我更喜欢抛出异常。
所以我想知道使用bean还是自定义处理器更好?
谢谢
解决方案
获取文件后,您可以调用一个处理器,您可以在其中从交换中提取文件名,使用exchange.getIn().getHeader("CamelFileName").toString();
您可以执行任何您想要的验证并在那里抛出异常。
您可以在 bean 中执行相同的任务,只需将CamelFileName
标头作为参数传递给 bean。
如果你不想调用处理器,你也可以在骆驼路线中做同样的事情。你可以做类似的事情
.choice()
.when()
.simple("${header.CamelFileName} == 'your condition'")
.throwException(MyCustomException.class)
.end()//ends the choice
.continue_with_your_route
推荐阅读
- java - 如何在自定义注释中获取默认消息中的字段名称?
- database - MongoDB——单个字段的 TTL / 过期?
- javascript - 五个输入取决于两个选择的值
- xaml - 如何为标签文本添加边框/轮廓?
- javascript - 最后创建带有按钮的平面列表的最佳方法是什么?用 Firebase 反应本机
- python - 按允许的列值组合列表过滤 df
- go - K8s中如何根据与pod的交互获取用户的ip
- flutter - 在 Flutter 中保存抽屉的状态
- react-native - 类型错误:'(0, _reactNavigation.StackNavigator)') 不是函数
- javascript - React-Image-Annotate - SyntaxError:无法在模块外使用导入语句