首页 文章 精选 留言 我的

精选列表

搜索[动态渲染],共10000篇文章
优秀的个人博客,低调大师

高并发监控系统 WGCLOUD,修复仪表盘图表渲染问题

WGCLOUD基于java语言开发,是springboot构建的监控系统,支持高并发高性能,核心模块包括:服务器集群监控,ES集群状态监控,CPU监控,内存监控,数据监控,网络流量监控,服务心跳检测,应用进程管理,磁盘IO监控,系统负载监控,监控告警信息推送。 此次更新, 1.修复仪表盘数据柱状图显示问题,原来20条数据显示会导致柱子连在一起,此次改为显示10条,剩余监控表详情在数据表列表管理页面查看。 2.如果你觉得本项目不错,在下面的码云或GITHUB上,留个star,tks 码云源码下载:https://gitee.com/wanghouhou/wgcloud GITHUB源码下载:https://github.com/tianshiyeben/wgcloud 安装包下载:http://www.wgstart.com

优秀的个人博客,低调大师

第6章—渲染web视图—使用Apache Tiles视图定义布局

使用Apache Tiles视图定义布局 Tiles是一个免费的开源模板Java应用程序的框架。基于复合模式简化的用户界面的构建。对于复杂的网站仍是最简单、最优雅的方式与任何MVC技术一起工作。Struts2对Tiles提供了支持,如今Tiles发展已有13个年头,成为Apache的一个独立项目,我们可以单独使用Tiles来构建用户界面布局。 Tiles项目:http://tiles.apache.org/index.html Tiles的配置DTD定义:http://tiles.apache.org/framework/tiles-core/dtddoc/index.html 本文主要通过构建一个简单的页面布局来认识Apache Tiles3.x(由于Tiles2.x和Tiles3.x存在较大差异)。 本人的目录结构如下: image 1.准备工作 1.1安装Apache Tiles3.x依赖的Jar <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-extras</artifactId> <version>3.0.5</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-servlet</artifactId> <version>3.0.5</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-jsp</artifactId> <version>3.0.5</version> </dependency> 注意:这里使用了Apache3.x完整包依赖。 1.3配置web.xml ​ 在web.xml中添加Tiles监听器 <listener> <listener-class>org.apache.tiles.extras.complete.CompleteAutoloadTilesListener</listener-class> </listener> 关于Tiles的监听器可以自定义实现,参见:http://tiles.apache.org/framework/config-reference.html 2.分析界面组成,构建布局文件 假设本案例中的页面构成如图: image 分析界面布局,找不通用部分,特殊部分。 在webapp下创建layout文件夹放在布局文件,snippet文件夹放置公共部分。 通过分析,将布局切割为header,body,footer,并且将HTML页面中的meta,script公共部分抽取出来。 /snippet/meta.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> /snippet/script.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <style> div { width: 480px; height: 80px; background: silver; } #body { background: lime; } </style> <script type="text/javascript"> document.writeln("这句话是由JavaScript写入页面的。"); </script> /snippet/header.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <h3> 这是头部 </h3> /snippet/footer.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <h3>这是页脚</h3> /snippet/index_body.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <pre> 这是页面的主体部分 </pre> 通过上面的公共部分和主体,构建一个布局文件如下: /layout/index_layout.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%> <!DOCTYPE html> <html> <head> <tiles:insertAttribute name="meta" /> <title><tiles:insertAttribute name="title" /></title> <tiles:insertAttribute name="script" /> </head> <body> <div id="header"> <tiles:insertAttribute name="header" /> </div> <div id="body"> <tiles:insertAttribute name="body" /> </div> <div id="footer"> <tiles:insertAttribute name="footer" /> </div> </body> </html> 3.Tiles的复合布局定义 Tiles是通过在xml文件中配置definition进行页面公共部分的重用,页面布局的组合。 /WEB-INF/tiles-defs.xml 定义好公共部分之后,通过配置definition来组合页面布局。 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" "http://tiles.apache.org/dtds/tiles-config_3_0.dtd"> <!-- Definitions for Tiles documentation --> <tiles-definitions> <definition name="tiles.base.definition"> <put-attribute name="meta" value="/snippet/meta.jsp" /> <put-attribute name="script" value="/snippet/script.jsp" /> <put-attribute name="header" value="/snippet/header.jsp" /> <put-attribute name="footer" value="/snippet/footer.jsp" /> </definition> </tiles-definitions> 上面的definition可以说是抽象的,仅仅作为基本的定义抽取了界面中最通用的部分,而且并未指定具体的模版文件(布局文件)。下面通过继承tiles.base.definition来定一个tiles.index.definition其布局模版为/layout/index_layout.jsp。 <definition name="tiles.index.definition" extends="tiles.base.definition" template="/layout/index_layout.jsp"> <put-attribute name="body" value="/snippet/index_body.jsp" /> </definition> 上面定义tiles.index.definition,新增了body,其值为/snippet/index_body.jsp页面。 4.使用复合布局 ​ 到这里已经将页面的布局进行了分割,组合。现在应用definition来构建一个请求响应页面。 /example/index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%> <tiles:insertDefinition name="tiles.index.definition"> <tiles:putAttribute name="title" value="这是一个有Apache Tiles构建的页面布局." /> </tiles:insertDefinition> 5.启动服务器,访问/example/index.jsp 页面展示效果: image 接下来看看页面的源代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>这是一个有Apache Tiles构建的页面布局.</title> <style> div { width: 480px; height: 80px; background: silver; } #body { background: lime; } </style> <script type="text/javascript"> document.writeln("这句话是由JavaScript写入页面的。"); </script> </head> <body> <div id="header"> <h3> 这是头部 </h3> </div> <div id="body"> <pre> 这是页面的主体部分 </pre> </div> <div id="footer"> <h3>这是页脚</h3> </div> </body> </html> 该例子中布局index_layout.jsp中body是可变的,title对一个不同的页面有不同的标题设置。在tiles-defx.xml的tiles.index.definition继承了tiles.base.definition,并且添加了其body页面,接着在插入tiles.index.definition的index.jsp页面添加了title。这样做达到的效果是整个站点的header,footer,meta,script抽取到了一个definition,然后通过继承的方式进行扩展,丰富不同的布局的页面组成元素,在具体的响应页面来定义专属该页面的内容。从而达到对页面的布局的控制,公共部分的复用的效果。 6.总结 本文仅仅是一个简单的示例,然而大部分内容被抽取公共部分占去,这样的结果并非意外,对于页面布局的划分,组合,重用才是使用Tiles之前最为繁重和复杂的工作,这些工作能够做的合理,优雅,配置definition自然就轻松多了。

优秀的个人博客,低调大师

版本动态 | Apache Linkis 1.5.0 版本发布

Apache Linkis 1.5.0版本已经发布,非常感谢社区各位成员对 1.5.0版本的贡献和付出。 本次版本是一个大版本,新增了多个社区期待已久的特性,如:注册中心支持切换Nacos、新增Hbase、Nabula、repl等多个引擎、新增SPARK引擎插件支持 on Yarn Cluster模式、SPARK和Flink引擎插件支持 on k8s提交Jar任务等功能特性,并修复了多个已知问题。 详情请查看 Apache Linkis 官方1.5.0的版本信息: https://linkis.apache.org/zh-CN/download/release-notes-1.5.0 ApacheLinkis1.5.0版本简介 ●注册中心支持将Eureka切换为Nacos ●新增Hbase引擎插件,支持Hbase-shell全部语法并兼容多版本 ●新增Nebula引擎插件 ●新增Repl解释器引擎插件,支持运行Java和Scala代码片段 ●支持SparkEConk8s提交jar和Pyspark任务 ●支持FlinkEConk8s提交jar任务 ●Spark引擎插件支持onyarncluster运行模式 ●LinkisJDBCdriver支持多引擎多版本的选择 ●基础数据管理增加配置项管理,支持管理员管理各个引擎插件的配置项 ●管理台增加运维工具,并新加入了用户配置管理,支持管理员调整用户配置和模版管理 ●【实验性】Entrance支持任务接管,可以做到Entrance无状态 缩写: ●COMMON:LinkisCommon ●ENTRANCE:LinkisEntrance ●EC:EngineConn ●ECM:EngineConnManager ●ECP:EngineConnPlugin ●DMS:DataSourceManagerService ●MDS:MetaDataManagerService ●LM:LinkisManager ●PS:LinkisPublicService ●PE:LinkisPublicEnhancement ●RPC:LinkisCommonRPC ●CG:LinkisComputationGovernance ●DEPLOY:LinkisDeployment ●WEB:LinkisWeb ●GATEWAY:LinkisGateway ●EP:EnginePlugin 新特性 ●[EC]LINKIS-5008注册中心支持Nacos ●[GATEWAY]LINKIS-4992Gateway支持访问控制配置 ●[EC-REPL]LINKIS-4937新增Repl解释器引擎插件,支持执行scala和Java代码 ●[EC-NEBULA]LINKIS-4903新增nebula引擎插件 ●[EC-HBASE]LINKIS-4891新增Hbase引擎插件 ●[EC-SPARK]LINKIS-4850SPARK引擎插件支持OnYarnCluster运行 ●[EC-SPARK]LINKIS-4867SPARK引擎插件支持提交Jar任务onk8s ●[EC-SPARK]LINKIS-4906SPARK引擎插件支持提交pysparkjobonk8s ●[JDBC-DRIVER]LINKIS-4930JDBCDriver支持引擎多版本 ●[EC-FLINK]LINKIS-4753Flink引擎插件升级为1.16.2并兼容多版本 ●[ENTRANCE]LINKIS-4282实验性:Entrance服务支持HA ●[MONITOR]LINKIS-4905实验性:新增Linkis Monitor服务 ●[WEB]LINKIS-4940实验性:管理台前端新架构升级 功能增强 ●[ECM]LINKIS-4990支持管理台下载EC的日志文件 ●[EC]LINKIS-4982EC指标丰富增加锁空闲等时间指标 ●[WEB]LINKIS-4954管理台增加用户配置管理页面 ●[EC-SPARK]LINKIS-4961Pyspark新增更多的默认classimport ●[EC-PYTHON]LINKIS-4835Python引擎插件优化打印,错误信息打印优化 ●[EC-SPARK]LINKIS-4896SPARKOnce任务支持EngineConnRuntimeMode标签配置 ●[LM]LINKIS-4914LM资源排序选择规则优化为从按大到小 ●[WEB]LINKIS-4935管理台支持配置spark.conf参数,支持配置多个SPARK的原生参数 ●[EC]LINKIS-4714EC支持指定Debug端口范围 ●[EC-FLINK]LINKIS-5023Flink引擎插件支持读取用户自定义的log4j配置 ●[PES]LINKIS-4838文件读取和写入接口支持更多参数和操作 ●[LM]LINKIS-4850LM支持管理K8s资源 ●[PE]LINKIS-4847优化模块数合并公共数据源模块 ●[PE]LINKIS-4853优化模块数合并公共客户端模块为pes-client模块 ●[PE]LINKIS-4854优化模块数合并公共服务的多个模块 ●[PE]LINKIS-4934数据源服务支持合并和单独部署 ●[EC-FLINK]LINKIS-5025Flink引擎插件支持加载默认配置 ●[EC-JDBC]LINKIS-5007JDBC引擎插件支持多任务间的任务串联 修复功能 ●[EC-Flink]LINKIS-5041修复交互式FlinkSQL打印状态获取错误日志问题 ●[MDS]LINKIS-4998ES数据源兼容6.X和7.X ●[EC-SPARK]LINKIS-4996SPARK引擎插件Scala任务支持将错误信息打印到任务日志中 ●[ENTRANCE]LINKIS-4967修复SQL解析comment中带有分号导致的解析错误 ●[EC]LINKIS-4920修复结果集null返回为字符串NULL问题 ●[CLI]LINKIS-4919Client修复并发的NPE问题 ●[CG]LINKIS-4915修复LM的ECM选择逻辑存在错误选择负载高的问题 ●[LM]LINKIS-4860修复linkis-httpclientpost接口中文乱码问题 ●[LM]LINKIS-4771Linkis-Clioncejob提交应该为Once模式 ●[LM]LINKIS-4731KillEC脚本应该去跳过ECM的进程 详细指引 ●本版本总览:https://linkis.apache.org/zh-CN/download/release-notes-1.5.0 ●详细安装部署见指引:https://linkis.apache.org/zh-CN/docs/latest/deployment/deploy-quick ●官方下载链接:https://linkis.apache.org/zh-CN/download/main 社区贡献者 Apache Linkis 1.5.0的发布离不开 Linkis 社区的贡献者,感谢所有的社区贡献者,包括但不仅限于以下 Contributors(排名不分先后):

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册