我目前从eclipse切换到android studio.在eclipse中我有2个项目,一个android应用程序项目和一个java项目,我将其作为库包含在android项目中.这个java项目使用ResourceBundles为它自己的错误创建国际化的错误消息.这是我的项目结构:
/MyApp
/src
/res
...
/MyLibrary
/src
/res (added as source folder to build path)
/loc
Bundle_en.properties
Run Code Online (Sandbox Code Playgroud)
这在加载RessourceBundles时起作用如下:
ResourceBundle.getBundle("loc.Bundle", Locale.ENGLISH);
Run Code Online (Sandbox Code Playgroud)
现在我切换到android studio,我的新项目结构看起来像这样(将java库添加为模块):
/MyProject
/MyApp
...
/MyLibrary
/src
/main
/java
...
/res
/loc
Bundle_en.properties
Run Code Online (Sandbox Code Playgroud)
但是我不能再加载ResourceBundles了,它只是扔了一个java.util.MissingResourceException.我为ResourceBundles和不同的路径尝试了很多不同的位置,但我会发疯,因为似乎没有任何工作.任何人都可以解释在哪里放这些捆绑以及如何加载它们?
谢谢!
是否可以在运行时配置flink应用程序?例如,我有一个流应用程序,该应用程序读取输入,进行一些转换,然后过滤掉低于某个阈值的所有元素。但是,我希望此阈值在运行时可配置,这意味着我可以更改此阈值而不必重新启动flink作业。示例代码:
DataStream<MyModel> myModelDataStream = // get input ...
// do some stuff ...
.filter(new RichFilterFunction<MyModel>() {
@Override
public boolean filter(MyModel value) throws Exception {
return value.someValue() > someGlobalState.getThreshold();
}
})
// write to some sink ...
DataStream<MyConfig> myConfigDataStream = // get input ...
// ...
.process(new RichProcessFunction<MyConfig>() {
someGlobalState.setThreshold(MyConfig.getThreshold());
})
// ...
Run Code Online (Sandbox Code Playgroud)
是否有可能实现这一目标?例如,可以通过配置流更改的全局状态。