- 浏览: 1284766 次
- 性别:
- 来自: 常州
-
文章分类
- 全部博客 (499)
- java (101)
- linux (82)
- mysql (30)
- javascript (45)
- Oracle (12)
- ext (14)
- 虚拟机 (1)
- 搜索引擎 (2)
- struts2 (11)
- 设计模式 (9)
- nginx (17)
- tomcat (12)
- 随想 (10)
- spring (18)
- svn (1)
- flash (3)
- UML (1)
- 数据结构 (7)
- 算法 (2)
- 网摘 (9)
- 数据库 (15)
- ibatis (3)
- jquery (31)
- lucene (1)
- hibernate (14)
- Myeclipse (4)
- 线程 (7)
- jbpm (4)
- 重构 (1)
- mantis (3)
- MediaWiki (4)
- ExtMail (1)
- MDaemon (1)
- egit (1)
- dwr (7)
- sitemesh (2)
- mybatis (1)
- ico (1)
- hadoop (5)
- jsoup (1)
- urlrewrite (2)
- jstl (1)
- spring3 (2)
- aop (2)
- 定时器 (1)
- Quartz (2)
- apache (1)
- php (1)
- security (1)
- iptables (2)
- QQ (1)
- mysqldump (1)
- vim (1)
- memcached (4)
- jad (1)
- 微博 (1)
- html5 (1)
- css3 (1)
- httpclient (10)
- google (1)
- shortUrl (1)
- json (2)
- virtualBox (1)
- mantisBT (2)
- htmlunit (1)
- selenium (2)
- mail (1)
- 正则表达式 (4)
- html (3)
- css (2)
- jatoolsPrinter (1)
- 图片处理 (1)
- hql (1)
- webservice (1)
- 分词 (3)
- 短信 (1)
- VPS (1)
- 事务 (1)
- 广告 (1)
- 画廊 (1)
- git (3)
- github (1)
- openshift (1)
- 缓存 (1)
- web (3)
- android (3)
- c3p0 (1)
- 邮箱 (1)
- memcache (2)
- windows (2)
- js (14)
- 编辑器 (1)
- 打印 (1)
- centos (5)
- boneCP (1)
- 连接池 (1)
- sql (1)
- nosql (1)
- MongoDB (1)
- 浏览器 (1)
- node (1)
- node.js (1)
- backbone.js (1)
- lazyload (1)
- Switch Off (1)
- Titanium (1)
- 网站架构 (1)
- WebDriver (1)
- APJP (1)
- 代理 (1)
- comet (1)
- kendoui (1)
- UI (2)
- 互联网 (1)
- localStorage (1)
- 记录 (1)
- 微信 (2)
- Sphinx (1)
- netty (1)
- js,mvvm,Avalon (1)
- 安卓 (1)
- Tengine (1)
- 大数据 (1)
- 手机 (1)
- paypal (1)
- SaaS (1)
- gitlab (1)
- nodejs (1)
- React (1)
- shadowsocks (0)
- vpn (0)
- 验证码 (1)
- SSL (2)
- SEO (1)
- IntelliJ (1)
- 敏捷开发 (1)
- 项目管理 (1)
- 爬虫 (1)
- 正则 (1)
- owncloud (1)
- 云存储 (1)
- ajax (1)
- pjax (1)
- jdk (1)
- zookeeper (1)
- phantomjs (1)
- ELK (1)
- springcloud (1)
- IDEA (1)
- hexo (1)
- ss (1)
- letencrypt (1)
最新评论
-
peakandyuri:
这个是有BUG的,数字小体现不出来,数字大了就不对了,但是Ja ...
java十进制转换N进制并反转换的工具类 -
ginolai:
然后是相关配置:/etc/sysconfig/iptables ...
Linux中iptables设置详细 -
bzhao:
我测试没啥区别啊!
Thread.sleep()和Thread.currentThread().sleep()区别 -
zhl549342097:
match == false
Spring Security 3.1 中功能强大的加密工具 PasswordEncoder -
hellotieye:
renzhengzhi 写道drager 写道用jsoup后解 ...
jsoup select 选择器
1.java调用cmd命令:
Runtime.getRuntime().exec("taskkill /f /im firefox.exe");
2.使用了loadProp()方法调用jar包内的properties文件
使用java程序监控geneFTP服务器(使用windows计划任务执行jar包),代码如下:(工程目录结构见附件)
Task.java:
package com.monitor; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import com.ahcomic.framework.util.common.SendMail; import com.ahcomic.framework.util.common.StringUtil; import com.enterprisedt.net.ftp.FTPClient; import com.enterprisedt.net.ftp.FTPConnectMode; import com.enterprisedt.net.ftp.FTPTransferType; public class Task { public static final String MAIL_SMTPSERVER = "mail.tora.to"; public static final String MAIL_USER = "torachan@tora.to"; public static final String MAIL_PASSWORD = "dimen29019853"; public static final String MAIL_FROM = "torachan@tora.to"; public static final String genehosts = loadProp("gene6.ftp.hosts"); public static final String geneports = loadProp("gene6.ftp.ports"); public static final String geneusers = loadProp("gene6.ftp.users"); public static final String genepwds = loadProp("gene6.ftp.pwds"); public static final String logPath = loadProp("gene6.log.path"); public static final String txtPaths = loadProp("gene6.test.txt.paths"); public static final String failcount = loadProp("schedule.fail.count"); public static final String sendemails = loadProp("schedule.send.emails"); private static final String taskkill = loadProp("schedule.taskkill.flag"); private static Map<String, Integer> map1 = new HashMap<String, Integer>(); private static Long now = System.currentTimeMillis(); public static void main(String[] args) { System.out.println(taskkill); if("1".equals(taskkill)){ try { Runtime.getRuntime().exec("taskkill /f /im java.exe"); Thread.sleep(2000); } catch (Exception e) { e.printStackTrace(); } } genesConn(); //System.out.println(loadProp("gene6.log.path")); } public static void genesConn() { System.out.println("[" + getdateFmt(System.currentTimeMillis()) + "] geneftp connection begin!"); String[] hosts = genehosts.split(","); String[] ports = geneports.split(","); String[] users = geneusers.split(","); String[] pwds = genepwds.split(","); String[] txts = txtPaths.split(","); for (int i = 0; i < hosts.length; i++) { if (!StringUtil.isBlank(hosts[i])) { try { testGene6(hosts[i], ports[i], users[i], pwds[i], txts[i]); } catch (Exception e) { continue; } finally { Map<String, Integer> map = readLog(); String host = hosts[i]; String txt = txts[i]; // check file if (map.containsKey(host)) { int count = map.get(host); File file = new File(getTrueTxt(txt)); if (file.exists()) { file.delete(); if(i==hosts.length-1){ delFold(txts[i]); } map1.put(host, 0); } else { if (count < Integer.valueOf(failcount)) { map1.put(host, count + 1); System.out .println("[" + getdateFmt(System .currentTimeMillis()) + "]监控到" + host + "的geneftp第" + Integer.valueOf(count + 1) + "次出错!"); } else { String[] emails = sendemails.split(","); for (String email : emails) { if (!StringUtil.isBlank(email)) { sendMail(email, "监控到" + host + "的geneftp出错!", "[" + getdateFmt(System .currentTimeMillis()) + "]监控到" + host + "geneftp出错!"); System.out.println("send email"); } } map1.put(host, 0); } } } } } } int i = 0; for (Iterator it = map1.keySet().iterator(); it.hasNext();) { String key = it.next().toString(); if (i == 0) { writeLog(key + ":" + map1.get(key), false); i++; } else { writeLog(key + ":" + map1.get(key), true); } } } private static void delFold(String txt){ String a = txt.substring(0,txt.lastIndexOf("\\\\")+2); String b = txt.substring(txt.lastIndexOf("\\")-1); String trueTxt = a + now + b; File f = new File(trueTxt); if(f.getParentFile().exists()){ f.getParentFile().delete(); } } private static String getTrueTxt(String txt){ String a = txt.substring(0,txt.lastIndexOf("\\\\")+2); String b = txt.substring(txt.lastIndexOf("\\")-1); String trueTxt = a + now + b; File f = new File(trueTxt); if(!f.getParentFile().exists()){ f.getParentFile().mkdirs(); } return trueTxt; } private static void testGene6(String host, String port, String user, String pwd, String txt) throws Exception { FTPClient ftp = null; ftp = new FTPClient(); // connection gene6ftp and download test.txt ftp.setRemoteHost(host); ftp.setRemotePort(Integer.parseInt(port)); ftp.connect(); ftp.login(user, pwd); ftp.setConnectMode(FTPConnectMode.PASV); ftp.setType(FTPTransferType.ASCII); ftp.get(getTrueTxt(txt), "test.txt"); Thread.sleep(5000); } static Map<String, Integer> readLog() { File f = new File(logPath); if (!f.exists()) { File fold = f.getParentFile(); if (!fold.exists()) fold.mkdirs(); String[] ips = genehosts.split(","); for (String ip : ips) { writeLog(ip + ":0", true); } } Map<String, Integer> map = new HashMap<String, Integer>(); InputStreamReader read; try { read = new InputStreamReader(new FileInputStream(f), "gbk"); BufferedReader br = new BufferedReader(read); String data = null; while ((data = br.readLine()) != null) { if (!StringUtil.isBlank(data)) { String[] strs = data.split(":"); map.put(strs[0], Integer.valueOf(strs[1])); } } } catch (Exception e) { e.printStackTrace(); } finally { return map; } } static String getDayFmt(long date) { SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); return sf.format(date); } static String getdateFmt(long date) { SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sf.format(date); } public static boolean sendMail(String to, String subject, String body) { // TODO Auto-generated method stub SendMail sendMail = new SendMail(); sendMail.setSmtpServer(MAIL_SMTPSERVER); sendMail.setPassword(MAIL_PASSWORD); sendMail.setUser(MAIL_USER); try { sendMail.send(to, MAIL_FROM, subject, body); return true; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); return false; } } static void writeLog(String data, boolean flag) { OutputStreamWriter write = null; BufferedWriter wr = null; try { File f1 = new File(logPath); if (!f1.getParentFile().exists()) { f1.getParentFile().mkdirs(); } write = new OutputStreamWriter(new FileOutputStream(f1, flag));// true表示往下继续写 wr = new BufferedWriter(write); wr.append(data + "\r\n"); wr.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { wr.close(); write.close(); } catch (IOException e) { e.printStackTrace(); } } } static String loadProp(String prop) { //InputStreamReader read; // String data=""; String str = ""; InputStream is = Task.class.getClassLoader().getResourceAsStream( "ApplicationResources.properties"); int i = 0; byte[] buff = new byte[1024]; String text = ""; try { while ((i = is.read(buff)) > 0) { text = text + new String(buff, 0, i); } is.close(); String[] datas = text.split("\r\n"); for (String data : datas) { if (!StringUtil.isBlank(data)) { if (data.indexOf(prop) != -1 && data.indexOf("#") == -1) { String[] strs = data.split("="); str = strs[1].trim(); } } } } catch (IOException e1) { e1.printStackTrace(); }finally{ return str; } /* * try { File f = new * File(Task.class.getClassLoader().getResource("ApplicationResources.properties").getPath()); * read = new InputStreamReader(new FileInputStream(f), "utf-8"); * BufferedReader br = new BufferedReader(read); while ((data = * br.readLine()) != null) { if(data.indexOf(prop)!=-1 && * data.indexOf("#")==-1){ String[] strs = data.split("="); str = * strs[1].trim(); } } } catch (Exception e) { e.printStackTrace(); * }finally{ return str; } */ } }
ApplicationResources.properties:
gene6.ftp.hosts = 122.227.X.X,122.227.X.X gene6.ftp.ports = 2129,2129 gene6.ftp.users = test,test gene6.ftp.pwds = dimen123123,dimen123123 gene6.log.path = D:\\kdex\\Monitor_gene_server\\logs\\gene6d.log gene6.test.txt.paths = D:\\kdex\\Monitor_gene_server\\get\\dl57.txt,D:\\kdex\\Monitor_gene_server\\get\\dl58.txt schedule.fail.count = 3 schedule.send.emails = XXX@163.com,EEE@gmail.com,FFF@gmail.com schedule.taskkill.flag = 0
发表评论
-
[转]Spring Cloud微服务的那点事
2018-04-20 21:58 698转自:https://blog.csdn.ne ... -
[转]ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
2018-04-20 17:10 903本文转自:https://my.oschin ... -
生成无重复的hashid短地址(短随机字符串)
2017-04-26 14:57 2229具体查看项目: http://hashids.org/j ... -
2017年Struts漏洞修复:版本从2.3.15.1升级到2.3.32
2017-03-24 15:10 2040如果你当前的项目使用了Struts2.3.5至 Strut ... -
多线程爬虫Miner [转]
2016-08-01 13:49 856多线程爬虫Miner 本文转自原作者博客:http:/ ... -
JAVA关键字替换
2015-11-03 21:22 1074import java.util.ArrayList; ... -
关于java web前后端分离
2015-08-27 22:47 1957由于公司架构上需要前后端分离,这里先记录一下相关内容,待后 ... -
基于NODEJS的前后端项目分离实践
2015-06-17 14:07 1215前后端分离项目实践 本文转自:http://jiangxi ... -
paypal IPN返回
2015-05-28 10:12 20901.设定返回的地址 目标:登录paypal-->用户 ... -
根据class搜索jar包
2015-05-20 13:00 908http://grepcode.com/ -
基于DWR的点对点聊天实现 server---client
2015-04-28 16:53 1198本文转自:http://htj1231825.iteye.c ... -
Java分布式中文分词组件word分词v1.2发布
2015-04-20 12:07 825word分词是一个Java实现的分布式的中文分词组件,提供了 ... -
java开源论坛jeebbsV4发布
2015-04-08 09:56 637论坛APP的帖子新展现形式 APP即时聊天模块 ... -
开源大数据解决方案
2015-03-12 13:01 1094解决方案 开发商 类型 描述 Storm Twit ... -
根据用户IP查询所属国家(数据库版)-geoip
2015-03-06 14:44 1215关键词:geoip,最新版本GeoIP2 http:// ... -
查询用户IP所在地服务接口(淘宝)
2015-03-04 10:17 1097import java.io.BufferedReader; ... -
java内存溢出优化
2014-12-28 12:42 2236本文转自:http://www.importnew.com ... -
Tomcat6线程池(Executor Thread pool)的配置
2014-12-27 01:07 941原文地址:http://www.java2000.net/p ... -
Netty学习系列导航-开源Java高性能NIO框架推荐
2014-08-13 17:49 1381纯记录,事件驱动服务器和客户端设计: http://mus ... -
破解验证码相关:用imagemagick和tesseract-ocr破解简单验证码
2014-08-13 17:08 2975本文源自:http://hooopo.iteye.com/ ...
相关推荐
同时,你需要将MyBatis Generator的jar文件(mybatis-generator-core-1.3.2.jar)下载到本地,并将其路径添加到系统的PATH环境变量中,这样在CMD中可以直接调用。 2. **配置XML**:创建一个名为`generatorConfig....
b:建立一个JavaProject,自定义包、类、需要透露给外界的方法,然后、将这个JavaProject打包成jar文件。(eclipse和myeclipse都自带的,或者你可以显摆一下,用黑框框敲几个代码整)。 c:狸猫换太子:jar>>dll ...
### JAVA学习教程:Java打包与跨项目调用详解 ...本文详细介绍了如何在Eclipse环境下打包Java项目成jar文件以及如何在不同项目间调用jar包的方法。通过遵循上述步骤,开发者可以更高效地管理和部署自己的Java应用程序。
主要文件类型包括30个Java源文件、2个Properties文件、2个Markdown文档、1个gitignore文件、1个JAR文件、1个LICENSE文件、1个PDF文件、1个mvnw文件、1个cmd文件和1个XML文件。EsClientRHL是一个可基于springboot的...
在实际使用中,Walle-CLI-all.jar是一个包含所有依赖的jar包,开发者只需通过命令行调用该工具,就能执行诸如构建、签名、上传等操作。这个工具支持Android与iOS项目,能够处理APK或IPA文件,并且可以配置不同的打包...
- 使用`jar`任务创建Java类库JAR文件。 - 使用`war`任务打包Java EE项目为WAR文件。 现在,我们关注如何在Ant中执行Bat文件。以下是一个例子: ```xml <exec executable="cmd"> <!-- argpath属性传递给...
本项目的后端源码包含了110个文件,这些文件分布在不同的目录和类型中,涵盖了Java源代码文件、XML配置文件、DLL库文件、JAR库文件、属性文件、数据文件、Maven构建文件、YAML配置文件以及图片文件等多种类型。...
JAR包文件的引入,说明该项目支持打包发布,是Java项目实现模块化和产品化的重要步骤。JAR文件不仅可以包含Java类文件和元数据,还可以包含声音、图片和其他资源文件,使得项目代码可以独立于开发环境运行。 ...
除了Java源文件和XML配置文件外,该压缩包还包括了诸如.gitattributes、.gitignore、properties、md、mvnw、cmd和yml等多种类型的文件。这些文件虽然不是直接的代码部分,但它们对于整个系统的开发、维护和运行同样...
10. **部署与运行**:项目最终需要打包为可执行的jar文件,并通过Java命令运行,或者在生产环境中,可以考虑使用Docker或其他容器化技术进行部署。 这个项目不仅涉及到SpringBoot的常规应用开发,还涵盖了Dubbo的...
2. `maven-wrapper.jar`:这是执行Wrapper脚本时实际使用的JAR文件,它负责下载指定的Maven版本。 总的来说,`.m2\wrapper`目录和其中的文件对于Maven项目来说至关重要,因为它们确保了构建过程的一致性和可移植性...
该文件夹还可能包含其他子文件夹和文件,例如用来存放下载的Maven二进制文件和Wrapper的.jar文件。 .mvn文件夹中可能包含如下文件和子文件夹: 1. mvnw(或mvnw.bat):这是一个跨平台的Maven包装器脚本,通过这个...
`main`目录下又分为`java`和`resources`,其中`java`包含了项目的主要Java代码,按照包结构组织,如业务逻辑层(Service层)、数据访问层(DAO层)、模型(Model层)和控制器(Controller层)。`resources`则可能...
具体来说,3205个XML配置文件体现了传统配置方式的应用,Java源文件则涉及了后端逻辑的具体实现,properties文件和yml文件则分别承载了系统和微服务的配置信息,而jar文件的137个表明了项目依赖了许多外部库和框架。...
- `gen.cmd` 和 `gen-cs.cmd` 可能是两个批处理命令文件,分别用于生成Angular和C#客户端的脚本。用户运行这些命令,就可以自动从Swagger文档生成相应的客户端代码。 - `swagger-codegen-cli-2.4.0.jar` 是Swagger ...
@JAVA_CMD@-classpath"@JACORB_HOME@\lib\idl.jar;@JACORB_HOME@\lib\logkit-1.2.jar;%CLASSPATH%"org.jacorb.idl.parser%* ``` - **修改后**: ```plaintext JAVA-classpath"%JACORB_HOME%\lib\idl.jar;%JACORB...
在cmd控制台中,切换路径到jar文件所在的目录。 输入 :java -jar jar包名.jar step2:剩下的就是按照 3.1中的步骤使用即可 4. Properties资源(配置)文件的解析(重点) -------------...
CMD文件是启动脚本,通常用于Windows环境,用户可以通过运行这个命令行脚本来启动代码生成的过程。generatorConfig.xml是配置文件,这是MyBatis Generator的核心,开发者可以在这个文件中配置数据库连接信息、表选择...
在Dubbo项目中,`main/java`会包含服务接口和服务实现的Java类,而`main/resources`可能包含配置文件,如`dubbo.properties`或XML配置文件。 5. `.idea`:这是IntelliJ IDEA或其他基于IntelliJ的IDE的工作区文件,...
4. **必要的JAR文件**: 包括`p6spy.jar`, `sqlprofiler.jar`, `log4j.jar`等。 #### 三、配置步骤 接下来详细介绍具体的配置步骤。 ##### 第一步:下载并安装SQL Profiler - 访问官方网站或第三方资源网站下载SQL ...