0 0

批量任务问题20

想做一个功能,具体含义如下:

 

1、管理多个任务,这些任务一天运行一次或者多次;

2、任务功能:读取数据、写出数据;读取数据和写出数据方式有File,Ftp,Socket;

 

 

要求:

 

     1、单纯的java应用

     2、实现可配置话,配置通过xml实现

 

现在思考如下,通过下面的xml来描述此功能

 

<?xml version="1.0" encoding="UTF-8"?>
<batch>
	<task id="icbc_balance" bankcode="01" tasktype="icbc_balance" starthour="07" startminute="10" endhour="07" endminute="20">
		<read readtype="file" class="com.batch.read.ReadFile" subFile=".s" totalFile=".t">
			<file fileName="abc.txt" fileDir="d:/" startLine="2" endLine="9"></file>
		</read>
		<send readtype="file" class="com.batch.send.SendFile">
			<file fileName="abcResponse.txt" fileDir="/ftpResponse/"></file>
			<ftp username="ftp123" password="ftp123" ip="2.0.0.1"></ftp>
		</send>
	</task>
	<task id="icbc_maturepay" bankcode="01" taskType="icbc_maturenpay" starthour="07" startminute="11" endhour="07" endminute="21">
		<read readtype="ftp" class="com.batch.read.ReadFtp">
			<file fileName="abc.txt" fileDir="/ftp/"></file>
			<ftp username="ftp123" password="ftp123" ip="2.0.0.1"></ftp>
		</read>
	</task>
	<task id="icbc_surrender" bankcode="01" taskType="icbc_surrender" starthour="07" startminute="12" endhour="07" endminute="22">
		<read readtype="socket" class="com.batch.read.ReadSocket">
			<socket port="8888" ip="2.0.0.1"></socket>
		</read>
	</task>
</batch>

 

 

   task:代表一个任务

         read:代表读取数据

                readType:代表读取数据方式

                class:代表通过哪个类实现读取数据逻辑

         send:代表发出数据

                sendType:代表发出数据方式

                calss:代表通过哪个类实现发出数据逻辑

   end task;

 

 

   写代码时遇到问题,怎么将这些信息封装到一个Map中呢?

 

   我的思路:

 

   1、一个Task类包含(Read接口,Send接口)

 

   2、一个Read接口,有readData方法,一个Send接口,有sendData方法

 

   3、一个Monitor监控类,监控Task类

 

  

   我想将xml中的task、read、send和实体类(Task、Read、Send)对应,但具体写的时候感觉很乱,能否帮忙提醒一下思路?

2012年12月02日 10:34

4个答案 按时间排序 按投票排序

0 0

quartz可以看下,既有定时任务功能,又有重复执行任务功能。

2012年12月03日 09:59
0 0

我只是想给 @8god +1,但是这个破网站嫌我积分少。

2012年12月02日 23:12
0 0

我看了 很思路差不多。
1、两个接口,read(read方法),send(send方法)
2、File、FTP、Socket(都有read、send方法的具体实现)
1、Task类:两个方法,read/send
参数传Read Send接口 里边调用read/send方法。

2012年12月02日 21:32
0 0

有个调度工具quartz,可以满足你的需求。。你考虑的东西就是实现具体任务就好了

2012年12月02日 21:07

相关推荐

    钉钉星任务批量导入说明

    钉钉星任务批量导入说明,让你更快速的编辑各项任务。

    基于ASP.NET Core和Quartz.Net的后台批量定时任务处理系统设计源码

    本项目是基于ASP.NET Core和Quartz.Net的后台批量定时任务处理系统设计源码,包含3706个文件,其中1476个SVG文件,1334个PNG文件,234个JavaScript文件,227个CSS文件,79个GIF文件,77个C#文件,37个LESS文件,36个...

    MIKE 21 批量模拟(Batch批量任务)

    MIKE 21 批量模拟(Batch批量任务)

    jira批量导入用例工具

    jira批量导入用例工具

    基于Django和Ansible的批量任务处理Web平台源码

    项目名称:基于Django和Ansible的批量任务处理Web平台 项目简介: 本项目是一款集成了Django框架、Ansible工具和Celery异步任务队列的Web平台,简称AnsibleUI。它旨在为用户提供一个便捷、高效的界面,用以批量处理...

    多任务多IP批量ping工具

    3,支持批量导入ip自动去除重复ip 4,支持单线程多线程切换(少于10个ip自动单线程) 5,支持ping D段ip 6,按钮右键可清空数据如列表框、编辑框 7,支持设置ping次数,ping包大小,-t选项 8,统计最终结果 9,其他....

    PHP进行批量任务处理不超时的解决方法

    在PHP中进行批量任务处理时,常见的一个问题是如何避免脚本超时。由于PHP执行环境的限制,长时间运行的脚本可能会因为超时而被中断。为了解决这个问题,我们可以采取将任务分批处理的策略,利用AJAX实现异步处理,...

    禅道任务创建规则规范说明.docx

    同时,禅道支持批量创建任务,提高效率。子任务的创建则是通过点击主任务的操作列图标完成,同样需要指定模块、名称、类型、指派人和时间。值得注意的是,子任务的总工作量和时间安排应与主任务保持一致,以确保整体...

    蓝鲸创建批量执行任务并设置定时.docx

    - **作业监控**:蓝鲸提供了详细的作业执行日志和状态监控,你可以查看每个任务的执行情况,包括执行结果、耗时、出错信息等,便于问题排查和性能优化。 - **报警机制**:对于重要的作业,你还可以配置报警规则,...

    abaqus提交任务管理器

    对于大型或者复杂的工程问题,常常需要进行大量的计算任务,这通常涉及到反复地提交作业到求解器。为了提高工作效率,"Abaqus提交任务管理器"应运而生。 这款软件设计的目标是解决Abaqus CAE在提交任务时的效率问题...

    redmine使用jmeter批量创建issue

    在IT行业中,批量处理任务可以显著提高效率,尤其是当涉及到创建多个Issue(问题或任务)时。JMeter,全称为Apache JMeter,是一款功能强大的性能测试工具,通常用于测试Web应用的负载和压力。它可以模拟多个用户...

    Abaqus 批量任务快速创建插件

    abaqus插件,批量选择inp文件创建计算任务

    多任务多IP批量ping工具1.2.zip

    "多任务多IP批量ping工具"则解决了这个问题,它允许用户一次性输入多个IP地址,然后同时进行ping测试,大大节省了时间。 该工具的核心功能包括: 1. **批量ping**:用户可以一次性导入包含数十甚至上百个IP地址的...

    图片批量处理 批量压缩 批量改名

    用户只需通过友好的图形界面导入图片,设定处理参数,然后一键执行,即可完成复杂的图片批量处理任务。许多这类工具还支持模板的预设和快速应用,使得用户能够针对不同的需求场景,快速处理图片并生成所需的输出。 ...

    批量修改_lsp批量修改_lsp文字数值_cad批量_CAD批量修改_

    LISP(List Processing)是一种古老而强大的编程语言,被广泛应用于AutoCAD等CAD软件中,以实现自定义功能和自动化任务。LISP程序可以被用来读取、修改和创建CAD图形的数据,包括文字和数字属性。 批量修改文字和...

    EF批量修改删除数据

    9. **适用场景**:批量操作适合于数据迁移、数据初始化、后台任务等需要处理大量数据的场合。 通过上述知识点,我们可以理解并应用Entity Framework及EntityFramework-Plus的批量操作功能,以提高.NET应用程序在...

    Word批量添加计划任务.docx

    在IT领域,有时候我们需要执行批处理操作以提高工作效率,例如在Windows XP系统中批量添加计划任务。本篇文章主要介绍如何利用命令行工具schtasks和Microsoft Office中的Excel、Word来实现这一目标。批量添加计划...

    线程池批量测试任务.7z

    线程池批量测试任务.7z

    Excel 批量上传 批量 处理 进度条

    在IT领域,Excel批量上传和批量处理是一项常见的任务,尤其在数据管理、分析以及系统集成中。进度条的加入则可以提升用户体验,让用户了解任务执行的状态。以下将详细阐述这些知识点: 1. **Excel批量上传**:批量...

    Java实现批量下载

    Java实现批量下载 Java中的批量下载是指通过Java程序实现多个文件的压缩和下载,今天我们将讨论如何使用Java实现批量下载,并将其压缩为zip包。 标题解释 标题“Java实现批量下载”表明了本节的主题,即使用Java...

Global site tag (gtag.js) - Google Analytics