मैं जावा/वसंत/हाइबरनेट के बारे में पढ़ रहा हूं और एक "डमी" उदाहरणों को कड़ी मेहनत कर रहा हूं इसलिए मैंने अपने दोस्त को मेरे लिए कुछ कठिन सलाह देने के लिए कहा, और अब मैं फंस गया हूं .. यहां सबसे सरल वर्ग है जो मैं कर सकता था repeadatly हर 30 सेकंड का कहना है की सुविधा देता है, यहाँप्रत्येक 30 सेकंड में जावा क्लास निष्पादित करने का सबसे आसान तरीका क्या है?
package spring.com.practice;
public class Pitcher {
private String shout;
public String getShout() {
return shout;
}
public void setShout(String shout) {
this.shout = shout;
}
public void voice()
{
System.out.println(getShout());
}
}
के बारे में सोच क्या वसंत बीन्स से metod voice()
फोन करके कुछ बाहर मुद्रित करने के लिए सबसे आसान तरीका है, और यह कर मैं अब तक क्या मिल गया है है:
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="jobSchedulerDetail" />
<property name="startDelay" value="0" />
<property name="repeatInterval" value="30" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="schedulerName" value="pitcherScheduler" />
<property name="triggers">
<list>
<ref bean="simpleTrigger" />
</list>
</property>
</bean>
<bean id="pitcher" class="spring.com.practice.Pitcher">
<property name="shout" value="I started executing..."></property>
</bean>
और हाँ, मैं इसे जेबॉस 5 पर चलाने की कोशिश कर रहा हूं, मैं मैवेन के साथ एक परियोजना का निर्माण कर रहा हूं।
मैं कुछ सुझाव मिला है और अपने आवेदन संदर्भ अब लगता है कि:
12:35:51,657 ERROR [01-SNAPSHOT]] Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
:
<web-app id="simple-webapp" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>spring app</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/conf/applicationContext.xml
</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>
अब मैं इस अपवाद प्राप्त करें:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sched="http://www.springinaction.com/schema/sched"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springinaction.com/schema/sched
http://www.springinaction.com/schema/sched-1.0.xsd"
default-lazy-init="true">
<bean id="stuffDoer" class="spring.com.practice">
<property name="shout" value="I'm executing"/>
</bean>
<sched:timer-job
target-bean="stuffDoer"
target-method="voice"
interval="5000"
start-delay="1000"
repeat-count="10" />
</beans>
यहाँ मेरी web.xml है मुझे हेलो दुनिया की तरह कुछ निष्पादित करने का एहसास नहीं हुआ हर 30 सेकंड यह जटिल होगा
के साथ अपना प्रश्न अपडेट करूंगा कि 'अनुसूचित' एनोटेशन वास्तव में अच्छा लग रहा है। – BalusC
@skaffman आपकी प्रतिक्रिया के लिए धन्यवाद, मैं अब कोशिश करूँगा, बात यह है कि मैं कुछ और जटिल करना चाहता हूं इसलिए मैं नीचे से शुरू करना चाहता हूं। 'मैं 2 ऑब्जेक्ट्स बनाना चाहता हूं जो एक-दूसरे को संदेश भेजते हैं, एक को जेबीएसएस 5 पर गड़बड़ जेएमएस मैसेजिंग का जवाब देने के लिए अन्य को बधाई देने के लिए, और मैं चाहता हूं कि यह हर 30 सेकंड में किया जाए।' इसलिए विचार करने वाली पहली बात हर 30 सेकंड में निष्पादन कार्य होगी और उसके बाद .. –
@ स्काफमैन महान उत्तर, मैंने इसे दोनों तरीकों से और इसके कामकाज की कोशिश की .. w00w tnx –