定时器第二集

前天的时候写了定时器监控网站的文章,当时理解的是找台机器放上去把main运行了就OK了,谁知领导说你做一个能挂服务器上的,到时候做个webservice接口,调用短信平台,如果网站无法登陆就直接发短信给用户。

于是就有了下面的东西:

先说jar包:spring.jar,quartz-all-1.8.5.jar,log4j-1.2.15.jar,axis.jar

先导包, 然后建立package创建类,我这里创建的类名为:QuartzJob,类中创建一个名为work的方法

之后再WEB-INF下简历一个xml文件,applicationContext_quartz.xml

具体内容为:

<?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:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd">


        <!-- 要调用的工作类 -->
        <bean id="quartzJob" class="你的类的路径"></bean>
        <!-- 定义调用对象和调用对象的方法 -->
         <bean id="jobTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            <!-- 调用的类 -->
            <property name="targetObject">
                <ref bean="quartzJob"/>
            </property>
            <!-- 调用类中的方法 -->
            <property name="targetMethod">
                <value>此定时器执行的类中的方法名</value>
            </property>
        </bean>

        <!-- 定义触发时间 -->
        <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
            <property name="jobDetail">
                <ref bean="jobTask"/>
            </property>
            <!-- cron表达式 -->
            <property name="cronExpression">
                <!-- 每隔10秒执行一次-->
                <value>0/10 * * * * ?</value>
            </property>
        </bean>
        <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
        <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
            <property name="triggers">
                <list>
                    <ref bean="doTime"/>
                </list>
            </property>
        </bean>
</beans>

最后需要做的就是配置web.xml文件

具体内容:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <!-- 加载spring -->
<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>
    /WEB-INF/applicationContext*.xml
   </param-value>
</context-param>
<servlet>
   <servlet-name>context</servlet-name>
   <servlet-class>
    org.springframework.web.context.ContextLoaderServlet
   </servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>
</web-app>

-----至此一个定时器就做好了,具体的方法体我就不写了。

下来来说webserice远程调用

 package com.foresee.ws;

import java.rmi.RemoteException;

import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

public class WsUtil {
 
 private WsUtil(){}
 
  private static WsUtil instance = null;
 
 public static WsUtil getInstance(){
  if(instance==null){
   instance = new WsUtil();
  }
  return instance;
 }
 
 static String URL = "http://具体暴露接口的URL?wsdl";//这里涉及公司隐私就不写了
 public static String invokeWs(String sid, String xml){
  String returnXml = null;
  Service service = new Service();
  Call call = null;
  
  try {
   call = (Call) service.createCall();
   call.setTargetEndpointAddress(URL);
   call.setTimeout(new Integer("400"));
   call.setOperationName(new QName(URL,"invoke"));
   returnXml = (String) call.invoke(new Object[]{sid, xml});
  } catch (ServiceException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (RemoteException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return returnXml;
 }
}

上面把这个类加工成了单例模式,因为是挂在定时服务上的,所以没必要每次都去实例化。

返回的是一个XML文件,因为webservice是用xml文件来进行数据交互的。如果有必要可以将xml文件中的内容解析出来,google上现成的解析代码是有的。

至此搞定了。酷

 

android viewmodel第二集 livedata基本使用 前言 各位同学大家好, 最近在学习livedata的基础知识所以就分享给大家 那么废话不多说我们正式开始。 效果图: 具体实现: 我们可以观察上面的案例 我们点击button 个一秒钟 我们的textview 会自增1 而且横竖屏切换的时候 不会受到影响导致数据丢失: 创建 MyViewModel package com.cbhx.livedatademo; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle 阅读详情

相关推荐

10位PWM能否满足电梯±5mm平层精度?4位扩展法让10位PWM达到14位精度

电梯平层精度直接关系乘坐舒适性与安全性,而PWM分辨率是决定精度的关键因素之一。10位PWM能否满足±5mm的平层精度要求?本文从分辨率与物理量的对应关系出发,结合工程精度需求与实战对比,给出明确的选型结论与解决方案,请参考优快云博客《4位扩展法:基于ATtiny816的高精度PWM软件扩展方法》和《低成本高精度PWM:4位扩展法原理、实现和工程实践》。10位PWM的分辨率为 $2^{10} = 1024$ 级。

m0_73354873的博客 246

QGC参数请求流程(第二集)

QGC参数请求流程(第二集) 联系作者 QQ 843230304 如流程图所示: 对应QGC的ParameterManager模块, 这是QGC参数请求流程的,定时器触发槽函数部分 ...

TuringEvo专栏 858

tkinter动态表格 - 实时更新数据(TkinterTable)

tkinter动态表格 - 实时更新数据(TkinterTable) 参考 [TkinterTable] Tkinter上的表格GUI】 https://github.com/dmnfarrell/tkintertable/wiki/Usage https://github.com/dmnfarrell/tkintertable/issues/47 python使用tkinter编写一个数据显示窗口(实时显示更新的数据) 首先安装TkinterTable,即pip install tki

qq_33934427的博客 1万+

进阶HAL开发——第二集-FreeRTOS

大三了,在保研、考研、保研加分政策改变的焦虑中渡过了2021的前5个月。好久没有认真学东西了。不管了,先学点东西把手里的比赛做完,加不加分都随缘。 FreeRTOS-HAL库一、简介二、理解三、使用3.1 移植FreeRTOS ---- 添加任务3.2 认识程序框架3.3 阅读FreeRTOS.c与main.c3.4 A任务删除B任务四、实例:五、总结 一、简介 FreeRTOS是一个迷你的实时操作系统内核。 作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、.

YU的博客 5070

PRPD图谱分析从入门到精通:5种典型放电模式的识别手册

本文详细解析PRPD图谱分析技术,重点介绍电晕放电、悬浮放电等5种典型放电模式的识别方法。通过37组真实案例对比,提供关键识别区和诊断流程图模板,帮助工程师快速掌握变电站设备状态监测的核心技能,提升绝缘缺陷诊断准确率。

weixin_29214199的博客 474

基于Simulink的直流电机双闭环调速系统抗扰动仿真与参数优化

本文详细介绍了基于Simulink的直流电机双闭环调速系统仿真与参数优化方法。通过构建转速外环与电流内环的仿真模型,阐述了利用工程设计法整定PI参数的核心步骤,并重点探讨了如何优化系统参数以增强其抗负载突变等扰动的能力,实现快速、平稳的调速性能。

weixin_29061997的博客 195

JavaScript异步(必考三座大三之三)——第二集:event loop

概念 event loop又称为事件循环或者事件轮询,它是js异步回调机制的实现原理。 你不李姐?别急!我们先看一张代码图,咱们先记住下面这个代码图,接下来跟大家唠唠这个代码段底层的执行机制 console.log('I'); setTimeout(() => { console.log('China'); }, 2000); console.log('love'); 下面几个框框简单给大家说一下: console:表示我们浏览器的控制台 call stack: 名叫调用堆.

weixin_50602266的博客 1332

C++开发基础之掌握常用的三种异步编程模型

以上是三种常见的C++异步编程模型,每种模型都有其适用的场景和特点。根据具体需求,你可以选择合适的模型来进行异步编程。

dotnet研习社 2177

理解JavaScript概念系列--异步任务

思考一下 什么是JavaScript异步? 为什么要实现JavaScript异步? 怎么实现JavaScript异步? JavaScript异步原理是什么? 最近权利的游戏第八季已经开播两集了,权游迷们看完第二集的时候不知道有没有这样一种体会,想象一下如果你是剧中的一位人物,在与异鬼大军大战前夜你会想什么或者你会做些什么事?不得不说导演把剧中人物在大战前夜他们的心理活动以及表现描述的恰到好处,...

weixin_33725270的博客 347

Linux新手必看:FinalShell连接不上?从检查IP到配置固定地址的完整排错指南

本文为Linux新手提供了FinalShell连接失败的完整排错指南,涵盖IP检查、SSH服务状态、防火墙配置和静态IP设置等关键步骤。通过详细的命令行操作和配置示例,帮助用户快速解决远程连接问题,提升Linux使用效率。

weixin_30675247的博客 754

Diffusion models代码实战:从零搭建自己的扩散模型

这个系列曾经写过三篇文章专门讲代码,分别从数据集、超参数、loss设计、参数计算、Unet结构、正向过程、逆向过程等部分详细介绍了如何搭建DDPM。Diffusion models领域发展神速,最近半年代表作品有OpenAI的GLIDE、DALL-E 2,Google Brain的ImageGen,海森堡大学的Latent Diffusion。这篇博客针对入门新手讲解一下如何利用已有的资源快速搭建自己的Diffusion models。.........

沉迷单车的追风少年 1万+

从零开始学STM32-M3

自用

weixin_43961941的博客 771

全国青少年信息素养大赛图形化(Scratch)编程考点总结

全国青少年信息素养大赛图形化(Scratch)编程考点总结

伶俐角少儿编程 383

前端实战:基于快马AI开发《夏与箱》第2集夏日祭典互动小游戏

游戏需要一个容器,里面包含几个核心区域:游戏标题和开始按钮的启动界面、显示倒计时和当前得分的状态面板、用于元素掉落和点击的游戏主区域,以及游戏结束后的结算界面。同时,为了给玩家即时的反馈,我会让被点击的元素播放一个简单的“爆炸”或缩小消失的CSS过渡动画,并在动画结束后将其从DOM树中移除,防止内存泄漏。这个平台用起来真的很顺手,它内置了代码编辑器和实时预览窗口,我一边写HTML、CSS和JavaScript,右边就能立刻看到游戏界面的变化,调试动画效果和点击反馈特别直观,省去了本地反复刷新浏览器的麻烦。

GoldEagle19的博客 4163

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【Redis二三事】Redis的主从复制机制详细解析(图解)

一把LOL的时间让你了解Redis的主从复制机制,Redis超详细主从复制解析,值得收藏!

wenwenaier的博客 3081

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Linux-C++开发项目:基于Reactor模式的高性能并发服务器(Ubuntu实现)———学习笔记(续集)

在本项目当中,主线程负责连接的建立,即,主线程的Reactor负责连接套接字的创建和销毁;其他的从线程,即从线程的Reactor负责连接的业务处理。

m0_73372744的博客 1068

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

linux 小程序开发日记-6(pyqt+yolov5)

linux 小程序开发日记-6 这一篇是该文章的最后第二集 最后一篇会附上源码代码,敬请期待 今天主要解决的问题是python连接数据库的问题,并同时进行数据库的录入。 ubuntu 安装mysql和其可视化工具 连接数据库 处理获取的lable list,将其可以录入数据库 下面先附上我自己的视频,主要内容是讲解了一下上面任务的代码 https://www.bilibili.com/video/BV1WY411n79M?share_source=copy_web 第一步 安装mysql及可视化工具 安

Liuchengzhizhi的博客 2391

iOS程序员不这样写简历,都找不到工作了?

对于职场来说,简历就如同门面。若是没想好,出了差错,耽误些时日倒不打紧,便是这简历入不了HR的眼,费力伤神还不能觅得好去处,这数年来勤学苦练的大好光阴,岂不辜负? 简历,简而有力。是对一个人工作经验的简单介绍。 对公司而言,在挑选人才时,可以通过简历对人才有整体认识,减少人才误用的风险。而对于个人来说,借着撰写简历,重新经历自己的过去、审视收获和缺憾,为面谈预先作好准备,来找到一份适合自己的理想工资。 一、面试的心态 自信 找工作就相当于相亲,每个人都是双向选择。没有最好,只有最适合。你拥大家闺秀的端庄,我

原来是泽镜的博客 382

iOS不这样写简历,都找不到工作了

对于职场来说,简历就如同门面。若是没想好,出了差错,耽误些时日倒不打紧,便是这简历入不了HR的眼,费力伤神还不能觅得好去处,这数年来勤学苦练的大好光阴,岂不辜负? 简历,简而有力。是对一个人工作经验的简单介绍。对公司而言,在挑选人才时,可以通过简历对人才有整体认识,减少人才误用的风险。而对于个人来说,借着撰写简历,重新经历自己的过去、审视收获和缺憾,为面谈预先作好准备,来找到一份适合自己的理想工资...

weixin_34381687的博客 318

线程2

在这里插入图片描述 在这里插入图片描述

小宇学Java 139

iOS简历这样写,才能找到好工作

近几年来,iOS开发人员越来越多,而职场要求越来越高。对于职场来说,简历就如同门面。若是没想好,出了差错,耽误些时日倒不打紧,便是这简历入不了HR的眼,费力伤神还不能觅得好去处,这数年来勤学苦练的大好光阴,岂不辜负? 简历,简而有力。是对一个人工作经验的简单介绍。对公司而言,在挑选人才时,可以通过简历对人才有整体认识,减少人才误用的风险。而对于个人来说,借着撰写简历,重新经历自己的过去、审视收获...

weixin_30879833的博客 199

HttpClient 模拟登录保持session并继续进行登录后操作

 公司考勤签到,每天都要登录系统签到,于是就在想:如果可以每天自动签到就好了。 看了http://unmi.cc/httpclient-login-session/这篇微博,也试着写了下。 大概思路是:模拟登录考勤系统,调用“打点接口”. import org.apache.commons.httpclient.Cookie; import org.apache.commons.http...

懒得不想说话 5619

Java回调(钩子函数)笔记(思想)

Java回调(钩子函数): 拥有某些接口,但不关心实现,具体如何实现不详。 由实现类自己决定,相当于对外抛出一个钩子,你在上面挂什么就是什么。   具体看代码: 接口中有一个方法,传入一个字符串,实现类可以用传入的字符串做任何事情。只要传就行。   public interface HookInterface { public void whatever(String s...

懒得不想说话 3896

解决IE下 不识别json格式返回结果的问题

 话说万恶的IE不消失,我们的加班不休止啊。各种兼容性问题让我们很头大。 前阵子给手机跟PC做接口,用现在主流浏览器测试均没有问题,到了IE这问题来了,测试用的是IE9. 大框架是SpringMVC  Controller层是配合注解方式写的。每个controller方法的返回类型均是Obj,方法头全部注解@ResponseBody,相应结果由SpringMVC处理。到了IE9这里,业务操作...

懒得不想说话 2036

java socketio server 端 笔记

项目需要做web端实时推送 引用了socketio来实现,今天做下笔记 需要的jar socketio.jar 以下是socketio.jar依赖的jar包 [img]http://dl2.iteye.com/upload/attachment/0108/8120/c4a885d4-16fb-3eda-820f-2fe1a24addff.jpg[/img] [code="java"]...

懒得不想说话 1568

自定义泛型的数组List

public class MyArrayList&lt;T&gt; { private static final int DEFAULT_SIZE = 10; private Object[] elements; private int count = -1; public MyArrayList(){ elements = new Object[D...

懒得不想说话 1349
上一篇: java单例模式小汇总
下一篇: Oracle 存储过程/function 返回结果集
vortex331
博客等级 码龄16年 0粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值