|
锁定老贴子 主题:Spring的动态配置
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2005-07-12
我比较喜欢Spring中通过XML文件配置来实现POJO的自动加载,不但思路清楚,而且更加灵活,但有的时候我的XML中的个别参数需要变动一下,那就要重新写一个XML文件或是将所有类用代码来实现,能不能把XML的内容保存到一个容器中,如writer或String、document等对象中,通过动态的改动容器重新加载的办法来实现个别参数的变动,这样极大的增加了spring的灵活性。我接触spring的时间不多,我只是提出一个想法,大家来讨论一下。
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2005-07-12
JMX
|
|
| 返回顶楼 | |
|
最后更新时间:2005-07-14
spring难道真的没有办法增加他的灵活性了吗
|
|
| 返回顶楼 | |
|
最后更新时间:2005-07-15
有办法了,可以将字符串抽取成inputstream,然后压入spring中就可以了,谢谢大家
|
|
| 返回顶楼 | |
|
最后更新时间:2005-07-24
能给一个例子吗?
说说你的大致解决方法 我也好学习学习 |
|
| 返回顶楼 | |
|
最后更新时间:2005-10-13
在真实的环境中,经常遇到代码更新遇到的麻烦。
线上系统不允许经常重新启动WEBSERVER, 如何能通过spring重新载入BEAN以及它的配置属性? 如果仅仅是配置属性的修改,比较简单 <% ServletContext context = this.getServletContext(); ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(context); TestBean bean = (TestBean)ctx.getBean("bean1"); bean.setProperty("new value"); %> 但是如果代码更新呢? |
|
| 返回顶楼 | |
|
最后更新时间:2005-10-13
关注,强烈关注,Spring1.3 有没有提出解决方案。
重启Web Server,罪莫大焉,让人怀恋起php和jsp. |
|
| 返回顶楼 | |
|
最后更新时间:2005-10-13
确实是,我们的服务经常要更新代码,重启服务,
apache很快,但是tomcat尤其用了spring,会好几分钟。 自己写ClassLoader,读取class文件,动态注入到factory中? 没有具体做过,我觉得可以的, 但是ApplicationContext没有注册bean的接口啊,ConfigurableBeanFactory有,但是 ConfigurableBeanFactory ctx = (ConfigurableBeanFactory)WebApplicationContextUtils.getWebApplicationContext(context); 转型失败 |
|
| 返回顶楼 | |
|
最后更新时间:2005-10-13
江南白衣 写道 关注,强烈关注,Spring1.3 有没有提出解决方案。
重启Web Server,罪莫大焉,让人怀恋起php和jsp. 这个要jvm支持的把,假若还有旧的对象引用在内存,那么要动态换 就需要实时evict掉旧的对象(或者让jvm支持multiversion技术), spring作为application层的东西,恐怕作不到这一点吧。 |
|
| 返回顶楼 | |
|
最后更新时间:2005-10-13
[code:1]<%
ServletContext context = this.getServletContext(); XmlWebApplicationContext ctx = (XmlWebApplicationContext)WebApplicationContextUtils.getWebApplicationContext(context); TestBean bean = (TestBean)ctx.getBean("bean1"); DependBean bean2 = (DependBean)ctx.getBean("bean2"); ConfigurableListableBeanFactory factory = ctx.getBeanFactory(); %> <h1> Before load:<%=bean.getName()%> bean2:<%=bean2.getRefbean().getName()%> </h1> <% //bean.setName("newName"); TestBean newBean = new TestBean(); newBean.setName("newName"); factory.registerSingleton("bean1", newBean); bean = (TestBean)ctx.getBean("bean1"); %> [/code:1] 报org.springframework.beans.factory.BeanDefinitionStoreException: Could not register object [testspring.TestBean@6835fb] under bean name 'bean1': there's already object [testspring.TestBean@1124746 bound |
|
| 返回顶楼 | |








