java程序员业务场景相关知识,bugfree,Axis2,Ext,lucene

本文是上一篇文章的后续文,具体请回顾上文

二十五、bugfree的操作步骤

我们在使用bugfree的时候我们首先登陆的时候是以测试员的身份登陆的,也就是系统管理员用户;测试员在登陆后首先应该给要测试的项目的相关负责人,每人创建一个账号(也就是在登陆后的页面的后台管理中创建用户),用户都新建完成之后就新建组,把要测试的项目的用户添加到组中。最后就新建项目并且新建该项目的模块。新建完项目之后就是开始测试程序,在程序中遇到bug以后就把错误截图,在到bugfree中新建bug填写相关的信息和要指派的人(出错模块的负责人)和把刚才的错误截图作为附件一并传送过去。

java程序员业务场景相关知识,bugfree,Axis2,Ext,lucene

开发人员把对应的bug解决之后就去bugfree上把bug对应的状态改成已解决状态,然后进行保存提交,这样bug的状态就变成已解决状态。测试人员上线查看已解决状态的bug并再次进行测试,如果经过测试bug的问题已解决,就可以把bug关闭;如果经过测试,发现仍然存在bug,就把bug激活;这样等开发人员再次登录的时候就可以再次看到这个未解决的bug,再次进行解决,如此反复直到bug全部解决,因为bugfree对bug的修改都有保留,所有我们可以看到bug的一步步的完善,直到最后把bug关闭。

Bug的三种状态:未解决(Active)(测试人员)、已解决(Resolved)(开发人员)、关闭(Closed)(测试人员)

二十六、Axis2 的配置

axis2服务端配置流程

1.引入相关的jar包并且在web.xml中配置axis2的核心控制器 axisServlet

2.在web-inf下建立相关的三层文件夹结构:

services-->自定义文件夹名-->META-INF-->servies.xml

3.在servies.xml中配置service的name以及对应的springBeanName

4.在浏览器中输入webservice的服务端地址并加上?wsdl来进行测试,看

是否发布成功

axis2客户端配置流程

1.通过wsdl2java根据webservice服务端的url生成客户端代码

2.将代码引入项目的文件夹中进行正常访问

二十六、spring定时器

每隔固定的时间执行

1.建立一个triggers触发器集合

2.建立SimpleTriggerBean并且指定每次间隔的时间以及执行的次数以及要执行的目标

3.通过 targetObject以及targetMethod找到要执行的具体类的具体方法

目标对象是一个普通的java类

每到指定的时间执行

1.建立一个triggers触发器集合.

2.建立CronTriggerBean指定cron表达式以及要执行的目标

3.通过 targetObject以及targetMethod找到要执行的具体类的具体方法

目标对象是一个普通的java类

二十七、Ext概述

据我了解Ext是一个用js编写RIA框架,它可以和各种后台语言结合使用。

我在项目中用Ext来完成的模块大概情况是这个样子,首先我通过layout

等于border的这种方式来进行布局,分为上下左右中,然后在左边用ext

tree来进行菜单的展示,之后在中间区域通过tabs来加入选项卡,而在

选项卡中就是一个个的grid以及form,其中我在做grid的时候,首先通过

store来存取后台返回的符合model格式数据集,store是通过proxy和后台的

contoller进行交互,之后把store赋值给grid的store属性并且通过renderTO

在指定的位置进行渲染展示。

Grid问题:

当时我在做grid的时候,发现数据没有展示出来,

我通过f12进行跟踪,发现压根就没有发送请求,后来我分析了下,发现因为

没有调用store的loadPage方法,所以导致了这个问题。除此之外在我们做

项目的过程中,我手底下带的一个人同样在负责grid的时候,数据可以正常展示,但

分页信息没有展示,通过跟踪他的代码发现是因为他没有把store属性赋值给

分页工具条,所以才导致了这个问题。

tabs选项卡:

当我在做tab选项卡这一模块的时候,

我首先在加载页面的时候用TabPanel创建了一个

tab页面,让它展示在中间位置,

然后点击左边Tree菜单调用add方法动态添加一个个

的tab选项卡,但是做的过程中出现了相同的选项卡会重复添加的问题,

我查了一些相关资料,最后通过tab的id或者一个唯一标识判断tab是否选中,

如果选中则调用setActiveTab来激活该选项卡,让它选中,

否则就添加一个tab。

最后达到了tab不存在就添加,存在就选中的效果。

了解:

Ext4.0也支持前端的MVC开发模式.

为啥没采用mvc的开发模式?

我们当时因为时间方面的原因,项目经理就决定用普通的这种

开发模式进行开发,并没有采用Ext4.0这种mvc模式的特性。但

我认为他们的核心操作流程是一致的所以对我来说去学习和使用

这种方式并没有什么难度。

二十八、lucene的概述

lucene是一个全文检索引擎,在进行模糊匹配的时候,他可以

用来替代数据库中的like,从而在匹配准确性以及性能进行大幅度

的提高。我在做XX项目的XX模块的时候,就是用lucene来进行全文检索

用IK分词器来进行分词。从而实现了高亮显示关键词,分页,排序,

多字段,多条件的高性能搜索。在从数据中取数据生成索引的时候,

因为表中的数据量比较大,防止一次取出所导致内存溢出问题,我采用了

分段批量提取的方式进行,除此之外我们对后续增加的数据根据优先级的

不同采取不同的策略,对于那些需要及时显示的数据我们通过spring

定时器 在短时间内(30分钟)进行增量索引的生成,对于那些不需要

及时展示的数据,我们通过spring定时器在每天晚上凌晨的时候进行索

引的重新生成。

java程序员业务场景相关知识,bugfree,Axis2,Ext,lucene

二十九、线程池作用

1.减少了创建和销毁线程的次数,

每个线程都可以被重复利用,

可执行多个任务。

2.可以根据系统的承受能力,

调整线程池中线程的数目,

防止因为消耗过多的内存,

而导致服务器宕机

(每个线程需要大约1MB内存,线程开的越多,

消耗的内存也就越大,最后宕机)。

通常我们使用的线程池是实现了ExecutorService的

ThreadPoolExecutor。

三十、jbpm是如何和spring进行整合

1.通过在spring-common.xml配置文件中配置springHelper,通过springHelper创建

processEngine,再通过processEngine获取各种工作流的Service,

如repositoryService,executionService,historyService,taskService

2.在src根目录下新建jbpm.cfg.xml文件

三十一、Tomcat优化

增大内存(堆,持久代)并开启server模式

我在做XXX项目时,用到了poi导入和导出数据,由于公司的业务比较繁多,数据量很大,测试时报内存溢出,经过我的分析再结合上网查阅资料,发现可能是tomcat内存不足,需要增大,修改配置文件后测试不再报错.

tomcat增大内存的方式通过修改tomcat配置文件

window下, 在bin/catalina.bat文件中最前面添加:

set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m –Xms1024m -Xmx1024m

linux下,在catalina.sh最前面增加:

JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m –Xms1024m -Xmx1024m "

-client –service

当我们在cmd中运行-java时,黑窗口会出现-client -service这两参数.其作用是设置虚拟机运行模式;client模式启动比较快,但运行时性能和内存管理效率不如server模式,通常用于客户端应用程序。server模式启动比client慢,但可获得更高的运行性能。Windows默认为client,如果要使用server模式,就需要在启动虚拟机时加-server参数,以获得更高性能,对服务器端应用,推荐采用server模式,尤其是多个CPU的系统。在Linux,Solaris上,默认值为server模式.

JDK版本

影响虚拟机还有JDK的版本,JDK分为32位,64位两种版本,32位装在32位系统,64位系统可以装32位和64位JDK.64位JDK性能优于32位JDK.

测试的命令 java -xmx数值m –version 报错配置大小失败,反之成功

增加Tomcat最大连接数

使用场景

我在做完一个XXX项目后,测试时发现并发数量增加到一定程度就会很卡,于是我想到了是不是tomcat最大连接数设置有限制.果不其然,配置文件中最大值才500,于是我更改了最大连接数,根据业务我修改了连接数为2000,完美的解决了这个问题;

修改方法在conf/service.xml中默认值


分享到:


相關文章: