源代码介绍
1.1介绍
在Exam 培训系统版的基本上,大家对ExamStack V2.0开展了很多代码重构,另外也对数据库系统干了一部分调节。为了更好地减少学生考試上交试卷时很多高并发产生的系统性风险,大家试着选用完善的消息队列架构RabbitMQ来处理这一难题,因而大家的数据库查询及其系统软件的构架同版对比,发生了很大的转变。
1.2 布署关键点
Management.war和Portal.war必须布署在同一个文件目录下。
ExamStack V2.0提升了学习培训作用,由于必须储存学习培训原材料,因此请空出充足的储存空间(以具体必须为标准)。
要确保RabbitMQ服务项目情况为运作情况。
要确保ScoreMarker情况为运作情况,另外ScoreMarker启用服务项目详细地址要配备恰当。
网站服务器安裝配备
2.1 网络服务器安裝布署
2.1.1 服务器的配置
电脑操作系统:Linux、Windows
运行内存:最少2G,强烈推荐8G
2.1.2 java软件环境
Java 8
2.1.3 网络服务器
Tomcat 8
RabbitMQ
MySql 5.0之上
2.2 运用布署
2.2.1 数据库查询
在MySql中在建一个数据库查询examstack,字符集应用utf8 — UTF-8 Unicode
应用大家出示的examstack.sql复原examstack
设定好相匹配的访问限制
2.2.2 RabbitMQ
安裝最新版本的RabbitMQ,实际安装方法,在互联网上能够 寻找许多 。
2.2.3 运用
将Management.war和Portal.war放进Tomcat程序运行文件目录(webapps)下。
起动Tomcat,webapps文件目录下能转化成2个文件夹名称(Management和Portal)。
各自进到到Management/WEB-INF/Spring和Portal/WEB-INF/Spring下改动root-context.xml文件,将数据库地址、登录名和密码重置成恰当的內容。改动进行后重新启动tomcat网络服务器。
必须改动的內容以下:
<property name="jdbcUrl" value="jdbc:mysql:/*.*.*.*:3306/examstack?useUnicode=true&characterEncoding=UTF-8" />
<property name="user" value="root" />
<property name="password" value="***" />
1
2
3
<property name="jdbcUrl" value="jdbc:mysql:/*.*.*.*:3306/examstack?useUnicode=true&characterEncoding=UTF-8" />
<property name="user" value="root" />
<property name="password" value="***" />
浏览http://localhost:8080/Management和http://localhost:8080/Portal能够 进到到后台管理系统网页页面和学生网页页面,并能够 一切正常登录,则运用配备取得成功。
留意:*在进行这一步后学生考試上交试卷没法进行,必须布署ScoreMarker。*
布署ScoreMarker
Linux下-缓解压力scoreMarker到/opt/文件目录。 确定config/scoremarker.properties文件配备恰当。 复制scoremarker 实行脚本制作到init.d文件目录下并查验脚本制作中的配备。
Windows下-缓解压力scoreMarker到随意文件目录。 确定config/scoremarker.properties文件配备恰当。 改动installService.bat中APP_HOME为scoreMarker文件目录。 运作instandroid免费源码allService.bat后起动服务项目ScoreMarkerService服务项目。
升级表明
系统架构图:后台管理系统如今单独成一个最新项目,已不和一版一样和前台接待合在一起。
引进RabbitMq,用以接纳客户递交的考试答题卡,根据ScoreMarker从消息队列获得考试答题卡并上交试卷,减少很多客户递交造成的网络服务器常见故障概率。
考题內容储存文件格式由xml改成json
提升教师角色,如今老师客户能够 恰当地应用自身的管理权限学生、考题、考卷、考試及其学习培训。
提升操作界面,新的页面看上去更为清新、技术专业。
增加了DashBoard,管理方法页面看上去会更技术专业。
训练历史时间如今专业用一张表纪录,使开发设计有关统计分析越来越更非常容易。
考試和训练:考試如今分成宣布考試和考试模拟二种,宣布考試必须老师或管理人员审批,而考试模拟不用审批。宣布考試又分成公有制和独享二种种类,公有制考試是能够 申请办理的考試,独享考試则必须老师或管理人员特定学生(这儿由管理人员特定也被大家觉得是审批的一种方法)。
增加审批作用,如今老师建立的考卷、考試都必须超级用户审批。超级用户自身建立的不用审批。另外,超级用户和老师还可以审批学生的考試申请办理。
增加人力判卷作用。包括论述题的考试试题,老师或超级用户根据人力判卷后能够 明确最后成绩。所有是主观题的考卷不用判卷。
增加考试分数统计分析作用,能够 查询特殊考試下学生的成绩,另外能够 对成绩开展排列。
增加学习培训查询记录作用,老师和管理人员现在可以便捷地查询学生的训练纪录、培训记录和考試纪录。
增加迅速考試方式,根据键入准考号就可以直接进入到相匹配的考試网页页面。
增加再次考試作用,如今学生在考試全过程中终断考試后,再次进到考試后,学生的解题纪录会修复到终断前的情况。
试题管理方法:提升考题改动作用,现在可以恰当地改动考题的基本资料。
增加学习培训作用,老师或超级用户能够 公布培训课件(视頻和pdf文本文档)。学生能够 选择自己必须报名参加的学习培训开展学习培训,学习培训分成视頻和pdf格式的文本文档二种。
增加虚似班集体作用,老师或管理人员现在可以根据虚似团小组很便捷地管理方法学生。
系统软件难题解决
1.不可以得到 连接数据库;
’
Cause:org.springframework.jdbc.CannotGetJdbcConnectionException:Could not get JDBC Connection;nested exception is java.sql.SQLException:Access denied for user ’root’@’localhost
1
Cause:org.springframework.jdbc.CannotGetJdbcConnectionException:Could not get JDBC Connection;nested exception is java.sql.SQLException:Access denied for user ’root’@’localhost
请查验连接数据库字符串数组是不是恰当,另外查验数据库查询名、登录名和登陆密码是不是设定恰当。
2.上交试卷不成功;
RabbitMQ沒有总结会造成程序运行联接RabbitMQ不成功
1
RabbitMQ沒有总结会造成程序运行联接RabbitMQ不成功
复制代码请查验RabbitMQ服务项目是不是起动。
3.学生上交试卷后,管理方法页面学生相匹配的情况沒有更改;
上交试卷取得成功后,学生考試情况会改动成已上交试卷或是已判卷,假如在提醒“上交试卷取得成功”后沒有产生一切转变,证实ScoreMarker沒有一切正常起动或是ScoreMarker启用插口不成功。
1
上交试卷取得成功后,学生考試情况会改动成已上交试卷或是已判卷,假如在提醒“上交试卷取得成功”后沒有产生一切转变,证实ScoreMarker沒有一切正常起动或是ScoreMarker启用插口不成功。
复制代码请查验ScoreMarker是不是起动。另外请确保ScoreMarker能启用到Management出示的插口,这一点在ScoreMarker布署中早已表明。
4.RabbitMQ、MySql、ScoreMarker无法启动或常常被Kill掉
我们在检测全过程中发觉,运行内存不 足的状况下(大家应用的是2GB运行内存),RabbitMQ、MySql、ScoreMarker常常被Kill,并且无法启动,查询系统日志会发觉提醒存储空间不足。
1
我们在检测全过程中发觉,内存不够的状况下(大家应用的是2GB运行内存),RabbitMQ、MySql、ScoreMarker常常被Kill,并且无法启动,查询系统日志会发觉提醒存储空间不足。
复制代码查询下系统日志,如果是存储空间不足的缘故,那么就赶快加内存吧。为了更好地为了确保一切正常运作,运行内存不可以小于2G。
5.bug版本更新
2016-2-15 处理考题导进出错的bug
2016-3-15 处理考試客户目录不可以一切正常分页查询的星力打鱼代理商bug
热门源码