当前位置: 首页 > news >正文

怎么进网站源码的后台文昌建设局网站

怎么进网站源码的后台,文昌建设局网站,转移wordpress,中山古镇做网站线程池改造 上一篇文章中我们用了Excutors创建了线程#xff0c;这里我们将它改造成包含所有线程池核心参数的形式。 package com.tomcatServer.http;import java.util.concurrent.*;/*** 线程池跑龙套** author ez4sterben* date 2023/08/05*/ public class ThreadPool {pr…线程池改造 上一篇文章中我们用了Excutors创建了线程这里我们将它改造成包含所有线程池核心参数的形式。 package com.tomcatServer.http;import java.util.concurrent.*;/*** 线程池跑龙套** author ez4sterben* date 2023/08/05*/ public class ThreadPool {private int corePoolSize;private int maximumPoolSize;private long keepAliveTime;private static ThreadPoolExecutor threadPoolExecutor;public ThreadPool() {}public synchronized ThreadPoolExecutor getInstance() {if (threadPoolExecutor null) {BlockingQueueRunnable workQueue new LinkedBlockingQueue();ThreadFactory threadFactory Executors.defaultThreadFactory();threadPoolExecutor new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime,TimeUnit.SECONDS,workQueue,threadFactory);}return threadPoolExecutor;}public static synchronized void shutdown() {if (threadPoolExecutor ! null) {threadPoolExecutor.shutdown();threadPoolExecutor null;}}public int getCorePoolSize() {return corePoolSize;}public void setCorePoolSize(int corePoolSize) {this.corePoolSize corePoolSize;}public void setMaximumPoolSize(int maximumPoolSize) {this.maximumPoolSize maximumPoolSize;}public void setKeepAliveTime(long keepAliveTime) {this.keepAliveTime keepAliveTime;} } 主方法中对多线程操作部分改为使用CompletableFuture执行 // 5.初始化线程池ThreadPoolExecutor executor XmlParseUtil.initThreadPool(ROOT); // 6.处理http请求try {SocketStore.connect(port);while (true){Socket accept SocketStore.getSocket().accept();if (accept ! null){CompletableFuture.runAsync(() - {try {SocketStore.handleRequest(accept);} catch (IOException e) {throw new RuntimeException(e);}}, executor);}}} catch (IOException e) {throw new RuntimeException(e);}finally {SocketStore.close();}解析xml文件 现在我们有一个server.xml文件我想解析其中的端口号以及线程池参数 tomcat-serverport80/portcore-pool-size4/core-pool-sizemaximum-pool-size8/maximum-pool-sizekeep-alive-time60/keep-alive-time /tomcat-server如果想完成这个功能可以直接使用java本身自带的工具类下面附上代码 package com.tomcatServer.utils;import com.tomcatServer.http.ThreadPool; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException;import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import java.io.File; import java.io.IOException; import java.util.concurrent.ThreadPoolExecutor;public class XmlParseUtil {public static Integer parseServerConfig(String root){int port 8080;try {NodeList nodeList getServerConfig(root);for (int i 0; i nodeList.getLength(); i) {Node node nodeList.item(i);if (node.getNodeType() Node.ELEMENT_NODE) {Element element (Element) node;port Integer.parseInt(element.getElementsByTagName(port).item(0).getTextContent().trim());}}} catch (Exception e) {e.printStackTrace();}return port;}public static ThreadPoolExecutor initThreadPool(String root){ThreadPool threadPool new ThreadPool();int corePoolSize 4;int maximumPoolSize 8;int keepAliveTime 60;try {NodeList nodeList getServerConfig(root);for (int i 0; i nodeList.getLength(); i) {Node node nodeList.item(i);if (node.getNodeType() Node.ELEMENT_NODE) {Element element (Element) node;corePoolSize Integer.parseInt(element.getElementsByTagName(core-pool-size).item(0).getTextContent().trim());maximumPoolSize Integer.parseInt(element.getElementsByTagName(maximum-pool-size).item(0).getTextContent().trim());keepAliveTime Integer.parseInt(element.getElementsByTagName(keep-alive-time).item(0).getTextContent().trim());}}} catch (Exception e) {e.printStackTrace();}threadPool.setCorePoolSize(corePoolSize);threadPool.setMaximumPoolSize(maximumPoolSize);threadPool.setKeepAliveTime(keepAliveTime);System.out.println(threadPool.getCorePoolSize());return threadPool.getInstance();}private static NodeList getServerConfig(String root) throws ParserConfigurationException, SAXException, IOException {File inputFile new File(root \\src\\main\\java\\com\\tomcatServer\\config\\server.xml);DocumentBuilderFactory factory DocumentBuilderFactory.newInstance();DocumentBuilder builder factory.newDocumentBuilder();Document document builder.parse(inputFile);document.getDocumentElement().normalize();return document.getElementsByTagName(tomcat-server);} } 启动测试 现在我的配置文件是这样的在主方法中打印一下端口号如果是80说明这个xml扫描成功了然后我们再去访问80端口的Index页面。 http://localhost:8080/index.html 尝试访问8080时已经无法访问了 接下来访问80端口 访问成功 现在我们的tomcat已经有一定的功能了下一篇作者将对整个tomcat的代码结构做一些优化并将现阶段的代码分享给读者。 【仿写tomcat】七、项目结构优化以及代码开源
http://www.pierceye.com/news/386427/

相关文章:

  • 怎么制作免费网站教程视频wordpress 准迁
  • html5新增标签seo网址超级外链工具
  • 自己做的网站访问不了建站如何挣钱
  • 网盘做网站做网站推广员工
  • 河北正规网站建设比较网页制作平台哪家好
  • 2017网站seo如何做wordpress设置登录背景
  • 网站的模块怎么做网站建设的技术支持包括
  • 青岛网站设计哪家好游戏小程序开发定制
  • 建设网站西丽提升网站建设品质
  • 大良营销网站建设方案广东东莞划定多个高风险区
  • 毕业设计做网站用什么品牌网站建设新闻
  • c 网站开发用的人多吗做it行业招标网站有哪些
  • 招聘做牙技工的网站用html框架做网站
  • 本地wordpress站点上传央企网站群建设
  • 广州免费自助建站开发wordpress公园
  • 淘宝客建网站简单网站建设优化推广
  • 长沙做网站找哪家好毕业设计开题报告网站开发
  • 可以写代码的网站有哪些问题吗网页设计与网站建设期末考试试卷
  • 美工做网站怎么收费网站设计规范
  • 建网站需要注意的问题企业整合营销
  • 2018网站开发的革新wordpress 更新数据库
  • 做现金贷的网站有哪些如何自己建立一个网站
  • 网站制作公司前十名wordpress保存的字体大小
  • 网站设计思路方案海外购物网站哪个最好
  • 哪个网站做课件能赚钱青岛制作网站的
  • 深圳做网站排名公司哪家好html网页设计实训报告范文
  • 外贸网站开发做动画 的 网站有哪些软件下载
  • 中国建设银行吉林省分行官网站wordpress形式
  • 做门户网站可以用的字体黑龙江建设教育网站
  • 怎么做网站建设赚钱知名品牌设计logo解析