JAVA高手请进关于Spring配置问题

我现在有这样一个需求:是要根据页面的配置来备份oracle数据库中的信息,页面上有按天,按周,按月来对数据库进行备份,目前我已在spring中配置文件中实现了数据备份但是... 我现在有这样一个需求:是要根据页面的配置来备份oracle数据库中的信息,页面上有按天,按周,按月来对数据库进行备份,目前我已在spring中配置文件中实现了数据备份但是不能动态来修改这个值:一下是我的spring配置文件:
<beans>
<bean id="test" class="com.mpos.net.Test"></bean>

<bean id="methodInvokingJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="test"></property>
<property name="targetMethod" value="print"></property>
</bean>

<bean id="footBallAutoOrderTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="methodInvokingJobDetail"/>
</property>
<property name="cronExpression">
<value>0 * * * * ?</value>
</property>
</bean>

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="footBallAutoOrderTrigger"/>
</list>
</property>
</bean>

</beans>

就这个<value>0 * * * * ?</value>值想动态改变而不用从启服务器没有用struts,请问各位如何实现这个
如果可以解决问题追加100分
展开
 我来答
finikes
2009-07-26 · TA获得超过259个赞
知道答主
回答量:57
采纳率:0%
帮助的人:33.8万
展开全部
这个问题我做过实验,需求几乎是一样的

不过,遗憾而且负责任地告诉你,这样实验我从未成功过--虽然我不确定它到底能不能实现!

达到设计指标的关键是销毁并重建spring容器或者容器里面的一个bean
销毁并重建spring容器的实验我是做失败了
要想通过销毁并重建bean(具体到你的案例就是销毁org.springframework.scheduling.quartz.SchedulerFactoryBean的那个实例,你没有给bean一个id)我可以给你一个思路,具体的实验你自己做吧,做完把结果披露出来

新建一个class继承org.springframework.scheduling.quartz.SchedulerFactoryBean,比如名称叫:org.xxx.yyy.MySchedulerFactoryBean,
配置文件中的:
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
替换成:
<bean id="schedulerFactoryBean" class="org.xxx.yyy.MySchedulerFactoryBean" destroy-method="destroy">

注意:bean元素添加了destroy-method属性,值是:destroy.

然后给org.xxx.yyy.MySchedulerFactoryBean增加一个叫destroy的方法,这个方法用来销毁这个bean,然后关闭并再次打开spring应用程序上下文.

如果org.springframework.scheduling.quartz.SchedulerFactoryBean有销毁的方法可以不用写新类了,直接在配置文件调用它的销毁方法,如果没有就在MySchedulerFactoryBean的destroy方法内写销毁的代码,可以将其所有属性为null.

再不行的话用同样方法对付footBallAutoOrderTrigger,同样给它个销毁方法,并在配置文件里配置.在关闭spring应用程序上下文的时候系统会自动调用这个方法,重新定义它的cronExpression属性的值,然后重建spring应用程序上下文

祝你成功!
韦涵涵
2009-07-25 · TA获得超过3892个赞
知道大有可为答主
回答量:1034
采纳率:100%
帮助的人:1510万
展开全部
太高级了。。在这里问题这么高级的问题,

注定没有结果。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
apollo47
2009-07-25 · TA获得超过1451个赞
知道小有建树答主
回答量:810
采纳率:0%
帮助的人:538万
展开全部
在程序里获得footBallAutoOrderTrigger这个对象,然后重新设置cronExpression属性值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coffeezhu007
2009-07-26 · TA获得超过715个赞
知道小有建树答主
回答量:638
采纳率:0%
帮助的人:426万
展开全部
对于你这个项目来说,倒不于就加一个quartz这个插件,专门处理这些问题的。这个插件你应该知道吧,就是作一些计划任务工作的,比如说在某一时刻要作什么事,或者一天内间隔多久执行一段什么样的程序。你可以用这个小工具。如果你的项目你有权作修改的话。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿修罗霸王拳
2009-07-25
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
这问题貌似不好弄,这点分也懒得实验
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式