mgi*_*rco 7 java datasource properties apache-commons
我刚刚发现apache commons配置可以从DataSource读取属性,但它不会缓存它们.我的应用程序需要多次读取属性,每次访问数据库的速度都很慢.
我有一个camel应用程序,它将所有消息发送到以我的自定义bean结尾的路由.这个bean是用范围原型创建的(我相信OOP ...),他们将需要读取一些属性和一个数据源(从属性url/name/etc读取),这些属性取决于来自sql db的当前用户.我收到的每条消息都会创建一个bean,因此重新读取属性.不幸的是,我不能自由选择从哪里读取属性,因为现在还有另一个不是由我编写的软件(GUI),它是写入db的用户/属性管理器.所以我需要从中读取属性.
你能建议我另类吗?
谢谢,马里奥
您可以使用Netflix Archaius项目,该项目会添加您要查找的缓存行为以及动态刷新功能.Archaius是围绕Commons Configuration构建的.
因此,您可以使用Archaius的DynamicConfiguration,而不是子类化DatabaseConfiguration,它扩展了Commons的AbstractConfiguration.此类将缓存您想要的任何源,并使用其轮询调度类以您指定的间隔刷新属性.
您必须实现的唯一类是PolledConfigurationSource,它从数据库中提取数据并将其放在Map中.应该很简单.
https://github.com/Netflix/archaius/wiki/Users-Guide
| 归档时间: |
|
| 查看次数: |
4695 次 |
| 最近记录: |