最近用socket编程,做的是服务器端,系统要求系统起来的时候socket服务就要起来,用了spring的bean注入,所以这个bean的注入也是要等spring的加载才能实现,所以用到了job。
socket服务器端程序:
public void saveFile(){
ServerSocket serv;
// Socket socket
try {
int servPort=cform.getServerPort();
System.out.println("servprot......"+servPort);
System.out.println("quartz start......");
serv = new ServerSocket(servPort);
//Socket socket = serv.accept();
while(true){
Socket socket = serv.accept();
System.out.println("server start......");
ServThread servThread=new ServThread(socket,cform,impl);
Thread t=new Thread(servThread);
t.start();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
spring中配置的程序
<bean id="jobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="socketServer" />
<property name="targetMethod" value="saveFile" />
<property name="concurrent" value="true" />
</bean>
<bean id="jobTrigger"
class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="jobDetail" />
<property name="startDelay">
<value>0</value>
</property>
<property name="repeatInterval">
<value>1000</value>
</property>
<property name="repeatCount" value="0" />
</bean>
<bean id="factory"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="jobTrigger" />
</list>
</property>
</bean>