我的項目採用的是SSH,
1,使用quartz 配置定時器,
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="commonTimeCatchServiceTrigger" />
</list>
</property>
</bean>
<bean id="commonTimeCatchServiceTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="commonTimeCatchServiceDetail" />
<property name="startDelay" value="0" /> <!-- 調度器啓動與第一次執行任務之間的間隔 -->
<property name="repeatInterval" value="360000" /> <!-- 間隔時間 -->
</bean>
<bean id="commonTimeCatchServiceDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="commonTimeCatchService" />
<property name="targetMethod" value="cache" /> <!-- 執行方法 -->
<property name="concurrent" value="false" /> <!-- 不允許併發 -->
</bean>
<bean id="commonTimeCatchService" class="com.xxxx.xxx.catchdata.CommonTimeCatchService">
<property name="baseHibernate" ref="baseHibernate" /> <!-- 數據源 -->
<property name="carHibernate" ref="carHibernate" /> <!-- 數據源 -->
<property name="memberHibernate" ref="memberHibernate" /> <!-- 數據源 -->
</bean>
服務器啓動後查詢數據,添加到static final 中就可以實現緩存機制
也可以使用這樣的方法:在web.xml裏面配置一個load-on-startup的servlet,然後在裏面做你想做的那些事情吧。