首页 文章 精选 留言 我的

精选列表

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

O2OA V5.0.1 Java 开源办公平台稳定版发布,加入公文痕迹保留及回放功能

O2OA团队于2020-05-06发布了新的软件版本 V5.0.1,该版本除了修复了大量的系统BUG之外,也提供了几个较有看点的新功能: 一、新增了考勤管理同步钉钉打卡数据的功能 二、新增了系统日志管理实时查看服务器日志的功能 三、新增了正文痕迹保留和回放功能 更新日志 功能新增 [平台管理]新增了一键下载图标功能。 [平台配置]新增了获取app下载地址接口。 [系统配置]新增了系统默认的数据库连接配置。 [中心服务]新增了断开O2云连接接口服务。 [流程管理]新增了流程版本管理和切换功能。 [流程管理]新增了流程启动模式"草稿模式",创建流程时避免启动流程实例 [流程管理]新增了流程提交以后提示框的自定义接口方法。 [流程管理]新增了管理员撤回流程接口。 [流程管理]新增了流程意见中立刻显示手写意见的选项。 [流程管理]新增了流程保存服务参数,提供静默保存能力。 [流程管理]新增了流程组件:"服务"活动,实现子流程调用后主流程自动等待的功能。 [流程管理]新增了新版本天谷天印附件(电子签章后的附件)上传接口适配。 [表单设计]新增了数据网格中取消编辑的功能。 [版式文件]新增了版式文件痕迹保留功能的移动端支持。 [版式文件]新增了版式正文痕迹保留是否允许查看痕迹配置功能。 [版式文件]新增了正文痕迹保留和回放功能。 [通用组件]新增了日期选择组件日视图中的清除按钮。 [内容管理]新增了定时重新计算和维护文档权限信息的功能。 [数据中心]新增了视图中分页相关设置。 [数据中心]新增了视图中新增了自定义操作条、新增了视图事件、新增了视图API。 [数据中心]新增了视图分页圆角方角相关设置。 [企业社区]新增了控制我的回贴列表排序方式的配置项。 [企业社区]新增了两个配置适应对回帖的排序和对回帖删除的方式控制功能。 [考勤管理]新增了考勤管理同步钉钉打卡数据的功能。 [个人通讯录]新增了通讯录二维码与导出vcf文件的功能。 [个人通讯录]新增了个人通讯录查询组织权限配置设计。 [系统日志]新增了系统日志管理日志分级标志。 [日志管理]新增了系统日志管理实时查看服务器日志的功能。 [日志管理]新增了系统日志获取接口支持集群日志合并展现。 [移动办公]新增了日程管理应用组织日历功能。 问题修复 [系统功能]修复了WebSocket连接不稳定的一些问题。 [系统功能]修复了响应头中x-token获取不到,无法更新下次请求头的x-token信息。 [系统功能]修复了首页未激活移动办公app无法打开的问题。 [权限管理]修复了角色中设置群组权限无效的的问题。 [权限管理]修复了组织管理权限,修复RoleManager无法管理角色的问题。 [单点认证]修复了使用oauth登录时RestActions对象找不到的问题 [人员组织]修复了人员名称变更身份名称未同时更新的问题。 [登录认证]修复了使用oauth登录时RestActions对象找不到的问题。 [登录注销]修复了注销(logout)中在某些情况下用户会话未完全清除的问题。 [登录注销]修复了Logout时某些情况下没有成功删除token可以重新获取登录信息的问题。 [平台首页]修复了新建流程在某些情况下可能报错的问题。 [平台首页]修复了个人设置更改头像出错的问题。 [办公中心]修复了办公中心启动新流程界面中进行搜索后无法启动流程的问题。 [系统风格]修复了除Blue外其他风格模板html中少了mouseover事件绑定,导致无法显示刷新按钮的问题。 [系统风格]修复了某些情况下滚动条出现错误的问题。 [流程管理]修复了保存流程新版本时,弹出窗口大小不合适的问题。 [流程管理]修复了新建流程的时候在某些情况下传入身份参数出错的问题。 [流程管理]修复了删除流程工作在某些情况下有一定机率导致的线程池锁死的问题。 [流程管理]修复了流程应用管理中某些情况下的调度错误的问题。 [流程管理]修复了在某些情况下禁止召回和无法替换表单的问题。 [流程管理]修复了流程在某些情况下出现的调度错误的问题。 [流程管理]修复了附件上传指定格式文件异常的问题。 [流程管理]修复了版式文件保存原始版本会多次保存的问题。 [流程管理]修复了流程表单中选择视图界面不能展开视图的问题。 [流程管理]修复了某些情况下不能重置处理人的问题。 [流程管理]修复了移动表单mobile_blue_flat_style样式的一些小问题。 [流程管理]修复了流程提交的时候意见可能为undefined的问题。 [流程管理]修复了新建流程实例界面搜索后不能启动的问题。 [流程管理]修复了流程脚本上下文环境中某些情况下deleteWork权限判断的错误的问题。 [表单设计]修复了源代码Form.js文件中afterDelete拼写错误。 [表单设计]修复了数据网格有合计的时候忽略非数字进行合计,而不是显示NaN的问题。 [表单设计]修复了数据网格总计数值的时候,没有填写数据显示NaN的问题。 [表单设计]修复了数字组件设置为显示时计算时没有显示为0的问题。 [表单设计]修复了手机端选择时间某些情况出错的问题。 [表单设计]修复了流程表单中多选按钮最后一个值不能被取消的问题。 [表单设计]修复了表单中嵌入视图,过滤条件为时间不起作用的问题。 [表单设计]修复了提交自动保存数据网格时,在数据网格事件中如果修改了data数据不会被保存的问题。 [表单组件]修复了移动端表单选择主送的时候最后一项不显示的问题。 [表单组件]修复了表单上按职务按组织选择人员的时候某些情况下会出现重复选项的问题。 [表单组件]修复了人员选择框在某些情况下高度异常的问题。 [附件下载]修复了无法识别新版office(如docx)的mimetype类型的问题。 [内容管理]修复了内容管理打开栏目设置界面报错的问题。 [内容管理]修复了设置栏目分类的显示权限错误的问题。 [门户管理]修复了部件设计脚本页面显示不正常的问题。 [数据中心]修复了某些情况下表单中的视图加载完成后loading不消失的问题。 [数据中心]修复了一些条件没有正确显示的问题。 [数据中心]修复了视图某些情况下使用setFilter方法报错的问题。 [数据中心]修复了视图公文样式的展示异常的问题。 [数据中心]修复了视图时间字段转义后有时间差的问题。 [企业社区]修复了移动端论坛打不开的问题。 [企业社区]修复了投票贴在列表中具有编辑入口的问题。 [企业社区]修复了删除主回复后还显示下层回复的问题。 [企业社区]修复了已经采纳的解决方案回贴被删除后 ,主贴展示会出现回复不存在的报错的问题。 [企业社区]修复了企业社区无主贴列表服务无法正常分页的问题。 [企业社区]修复了主贴查询服务无法通过关键词过滤标题的问题。 [企业社区]修复了问题贴重复进行回帖采纳后,缓存未及时更新的问题。 [企业社区]修复了社区发表回复时某些情况下头像和组织管理中不一致的问题。 [企业社区]修复了企业社区中用户不能正常注销的问题。 [个人设置]修复了个人设置中修改密码校验不通过仍可修改问题。 [个人设置]修复了个人设置中修改密码功能在桌面模式下显示不正常的问题。 [脑图管理]修复了脑图管理中引入kity错误问题。 [脑图管理]修复了脑图的列表在扁平风格模式下显示不正常的问题 [日程安排]修复月视图中日程标题超过表格宽度的时候不显示的问题。 [考勤管理]修复工作场所在https环境下不能正确显示地图的问题。 [会议管理]修复会议在编辑的时候按钮换行显示的问题。 [消息管理]修复了websocket连接不上时会重复发起请求的问题。 [消息管理]修复了消息管理相关的配置文件的缺陷。 [移动办公]修复了IOS最新版本13.4会闪退的问题。 [移动办公]修复了移动端表单撤回弹出alert的问题。 系统优化 [控制系统]优化了系统控制台命令,升级命令去掉口令验证。 [平台配置]系统配置messages.json文件错误文字修改。 [登录页]修改了APP的下载地址。 [组件配置]去除了前端component相关配置。 [流程管理]为流程提交以后提示框的自定义接口方法提供更多的参数。 [流程管理]修改自动流转判断身份改为人员,x-token获取顺序改为 parameter->head->cookie->auth。 [内容管理]栏目管理修改列示分类相关服务。 [数据中心]视图样式自定义功能、整理视图过滤条件。 [数据中心]优化视图条件,整理视图过滤条件设置,根据不同的数据类型显示相关的过滤条件方式。 [数据中心]优化视图条件,视图搜索条件中的时间选择允许选择秒。 [用户认证]优化人员认证过程,调整获取认证token顺序。 [日志管理]优化实时查看服务器日志的功能,调整日志显示样式。 [企业社区]调整代码结构,优化了部分服务逻辑。 [移动办公]IOS源码移除部分体积较大的框架以减少APP体积。

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

从零开始搭建Java开发环境第三篇:最新版IDEA常用配置指南,打造你的最酷IDE

刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便以后的开发,工欲善其事必先利其器。 比如:设置文件字体大小,代码自动完成提示,版本管理,本地代码历史,自动导入包,修改注释,修改tab的显示的数量和行数,打开项目方式,等等一大堆东西。 总结一下,免得下次换了系统,还得再找一遍配置。 设置外观和字体大小 1、IDEA默认配置 版本号:2019.02默认设置(Other Settings)IDEA不像Eclipse那样可以在一个窗口中打开多个项目,IDEA每次打开一个新的项目都需要开一个新的窗口或者覆盖掉当前窗口,所以在打开多个项目的时候就需要开多个窗口,但是如果不设置好默认设置,每次打开一个新的窗口就要重新设置。例如:每次打开新的项目的时候maven的本地仓库地址都要重新设置。通过设置Other Settings就可以解决这类问题。File-->Other Settings-->Preferences for New Projects。然后在左上角的搜索框中搜maven,就能看到如下图所示配置了。 2、字体和主题 默认主题暗色系。调整一下字体,稍微看的舒服一点 3、自动补全 取消匹配规则,默认自动补全 4、自动编译 5、自动导包和组织包结构 6、显示内存使用量 7、显示多行Tab 当我们打开的标签页多了的时候,默认的会隐藏在右侧,当我们需要的时候在右侧找到后再打开。IDEA是支持多行显示的,这样在大屏幕的显示器上也不用总去点击右侧的去找刚才打开过的文件了(其实通过Ctril+E也可以找到刚才打开过的文件)。具体开关位置在:File-->Settings-->Editor-->General-->Editor Tabs。 下图位置1的把勾选去掉就可以了。位置2是设置最多展示多少个Tab。 8、单词拼写检查 强烈建议,不要嫌弃他这个单词拼写检查,这也是为你好啊,免得你写一个简单的单词,但是你却写错了,还提示你使用驼峰命名法。也是很好的。

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

Java版Spring Cloud B2B2C o2o社交电商-客户端负载均衡策略

一、负载均衡介绍 负载均衡(Load Balance):建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。 1、服务端负载均衡:客户端请求到负载均衡服务器,负载均衡服务器根据自身的算法将该请求转给某台真正提供业务的服务器,该服务器将响应数据给负载均衡服务器,负载均衡服务器最后将数据返回给客服端。(nginx) 2、客服端负载均衡:基于客户端的负载均衡,简单的说就是在客户端程序里面,自己设定一个调度算法,在向服务器发起请求的时候,先执行调度算法计算出向哪台服务器发起请求,然后再发起请求给服务器。 二、负载均衡策略介绍 (1) AbstractLoadBalancerRule AbstractLoadBalancerRule是一个抽象类,里边主要定义了一个ILoadBalancer,定义它的目的主要是辅助负责均衡策略选取合适的服务端实例。 (2) RandomRule该负载均衡策略就是随机选择一个服务实例,看源码我们知道,在RandomRule的无参构造方法中初始化了一个Random对象,然后在它重写的choose方法又调用了choose(ILoadBalancer lb, Object key)这个重载的choose方法,在这个重载的choose方法中,每次利用random对象生成一个不大于服务实例总数的随机数,并将该数作为下标所以获取一个服务实例。 (3) RoundRobinRule RoundRobinRule这种负载均衡策略叫做线性负载均衡策略,也就是我们在上文所说的BaseLoadBalancer负载均衡器中默认采用的负载均衡策略。这个类的choose(ILoadBalancer lb, Object key)函数整体逻辑是这样的:开启一个计数器count,在while循环中遍历服务清单,获取清单之前先通过incrementAndGetModulo方法获取一个下标,这个下标是一个不断自增长的数先加1然后和服务清单总数取模之后获取到的(所以这个下标从来不会越界),拿着下标再去服务清单列表中取服务,每次循环计数器都会加1,如果连续10次都没有取到服务,则会报一个警告No available alive servers after 10 tries from load balancer: XXXX。 (4) RetryRule 看名字就知道这种负载均衡策略带有重试功能。首先RetryRule中又定义了一个subRule,它的实现类是RoundRobinRule,然后在RetryRule的choose(ILoadBalancer lb, Object key)方法中,每次还是采用RoundRobinRule中的choose规则来选择一个服务实例,如果选到的实例正常就返回,如果选择的服务实例为null或者已经失效,则在失效时间deadline之前不断的进行重试(重试时获取服务的策略还是RoundRobinRule中定义的策略),如果超过了deadline还是没取到则会返回一个null。 (5) WeightedResponseTimeRule WeightedResponseTimeRule是RoundRobinRule的一个子类,在WeightedResponseTimeRule中对RoundRobinRule的功能进行了扩展,WeightedResponseTimeRule中会根据每一个实例的运行情况来给计算出该实例的一个权重,然后在挑选实例的时候则根据权重进行挑选,这样能够实现更优的实例调用。WeightedResponseTimeRule中有一个名叫DynamicServerWeightTask的定时任务,默认情况下每隔30秒会计算一次各个服务实例的权重,权重的计算规则也很简单,如果一个服务的平均响应时间越短则权重越大,那么该服务实例被选中执行任务的概率也就越大。 (6) ClientConfigEnabledRoundRobinRule ClientConfigEnabledRoundRobinRule选择策略的实现很简单,内部定义了RoundRobinRule,choose方法还是采用了RoundRobinRule的choose方法,所以它的选择策略和RoundRobinRule的选择策略一致,不赘述。 (7) BestAvailableRule BestAvailableRule继承自ClientConfigEnabledRoundRobinRule,它在ClientConfigEnabledRoundRobinRule的基础上主要增加了根据loadBalancerStats中保存的服务实例的状态信息来过滤掉失效的服务实例的功能,然后顺便找出并发请求最小的服务实例来使用。然而loadBalancerStats有可能为null,如果loadBalancerStats为null,则BestAvailableRule将采用它的父类即ClientConfigEnabledRoundRobinRule的服务选取策略(线性轮询)。 (8) PredicateBasedRule PredicateBasedRule是ClientConfigEnabledRoundRobinRule的一个子类,它先通过内部定义的一个过滤器过滤出一部分服务实例清单,然后再采用线性轮询的方式从过滤出来的结果中选取一个服务实例。 (9) ZoneAvoidanceRule ZoneAvoidanceRule是PredicateBasedRule的一个实现类,只不过这里多一个过滤条件,ZoneAvoidanceRule中的过滤条件是以ZoneAvoidancePredicate为主过滤条件和以AvailabilityPredicate为次过滤条件组成的一个叫做CompositePredicate的组合过滤条件,过滤成功之后,继续采用线性轮询的方式从过滤结果中选择一个出来。使用ZoneAvoidancePredicate和AvailabilityPredicate来判断是否选择某个server,前一个判断判定一个zone的运行性能是否可用,剔除不可用的zone(的所有server),AvailabilityPredicate用于过滤掉连接数过多的Server。

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

java B2B2C电子商务平台分析之九--配置中心服务化和高可用

在前两篇的介绍中,客户端都是直接调用配置中心的server端来获取配置文件信息。这样就存在了一个问题,客户端和服务端的耦合性太高,如果server端要做集群,客户端只能通过原始的方式来路由,server端改变IP地址的时候,客户端也需要修改配置,不符合springcloud服务治理的理念。springcloud提供了这样的解决方案,我们只需要将server端当做一个服务注册到eureka中,client端去eureka中去获取配置中心server端的服务既可。愿意了解源码的朋友直接求求交流分享技术:二一四七七七五六三三 server端改造1、添加依赖 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> </dependencies> 需要多引入spring-cloud-starter-eureka包,来添加对eureka的支持。 2、配置文件 server: server: port: 8001 spring: application: name: spring-cloud-config-server cloud: config: server: git: uri: https://github.com/ityouknow/spring-cloud-starter/ # 配置git仓库的地址 search-paths: config-repo # git仓库地址下的相对地址,可以配置多个,用,分割。 username: username # git仓库的账号 password: password # git仓库的密码 eureka: client: serviceUrl: defaultZone: http://localhost:8000/eureka/ ## 注册中心eurka地址 增加了eureka注册中心的配置 3、启动类启动类添加@EnableDiscoveryClient激活对配置中心的支持 @EnableDiscoveryClient @EnableConfigServer @SpringBootApplication public class ConfigServerApplication { public static void main(String[] args) { SpringApplication.run(ConfigServerApplication.class, args); } } 这样server端的改造就完成了。先启动eureka注册中心,在启动server端,在浏览器中访问:http://localhost:8000/就会看到server端已经注册了到注册中心了。 按照上篇的测试步骤对server端进行测试服务正常。 客户端改造1、添加依赖 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> 需要多引入spring-cloud-starter-eureka包,来添加对eureka的支持。 2、配置文件 spring.application.name=spring-cloud-config-client server.port=8002 spring.cloud.config.name=neo-config spring.cloud.config.profile=dev spring.cloud.config.label=master spring.cloud.config.discovery.enabled=true spring.cloud.config.discovery.serviceId=spring-cloud-config-server eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/ 主要是去掉了spring.cloud.config.uri直接指向server端地址的配置,增加了最后的三个配置: spring.cloud.config.discovery.enabled:开启Config服务发现支持spring.cloud.config.discovery.serviceId:指定server端的name,也就是server端spring.application.name的值eureka.client.serviceUrl.defaultZone:指向配置中心的地址这三个配置文件都需要放到bootstrap.properties的配置中 3、启动类启动类添加@EnableDiscoveryClient激活对配置中心的支持 @EnableDiscoveryClient @SpringBootApplication public class ConfigClientApplication { public static void main(String[] args) { SpringApplication.run(ConfigClientApplication.class, args); } } 启动client端,在浏览器中访问:http://localhost:8000/就会看到server端和client端都已经注册了到注册中心了。 高可用为了模拟生产集群环境,我们改动server端的端口为8003,再启动一个server端来做服务的负载,提供高可用的server端支持。 如上图就可发现会有两个server端同时提供配置中心的服务,防止某一台down掉之后影响整个系统的使用。 我们先单独测试服务端,分别访问:http://localhost:8001/neo-config/dev、http://localhost:8003/neo-config/dev返回信息: { "name": "neo-config", "profiles": [ "dev" ], "label": null, "version": null, "state": null, "propertySources": [ { "name": "https://github.com/ityouknow/spring-cloud-starter/config-repo/neo-config-dev.properties", "source": { "neo.hello": "hello im dev" } } ] } 说明两个server端都正常读取到了配置信息。 再次访问:http://localhost:8002/hello, 返回:hello im dev update。说明客户端已经读取到了server端的内容,我们随机停掉一台server端的服务,再次访问http://localhost:8002/hello, 返回:hello im dev update,说明达到了高可用的目的。 整体代码结构如下: 资料和源码来源

资源下载

更多资源
Mario

Mario

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

腾讯云软件源

腾讯云软件源

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

Nacos

Nacos

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

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册