job在程序启动调度

本文介绍如何使用Spring框架和Quartz调度器实现启动时自动运行的Socket服务器端程序。通过配置Spring Bean,使得服务器能在系统启动时即开始监听指定端口,并通过线程处理每个连接请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 最近用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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值