This action will force synchronization from Ocelot/ExamStack, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
#ExamStack V2.0
在Exam++考试系统第一版的基础上,我们对ExamStack V2.0进行了大量代码重构,同时也对数据模型做了部分调整。为了减小学员考试交卷时大量并发带来的系统风险,我们尝试采用成熟的消息队列框架RabbitMQ来解决这一问题,因此我们的数据库以及系统的架构同第一版相比,发生了不小的变化。
Management.war
和Portal.war
需要部署在同一个目录
下。
ExamStack V2.0增加了培训功能
,因为需要保存培训材料,所以请留出足够的磁盘空间(以实际需要为准)。
要保证RabbitMQ服务状态为运行状态
。
要保证ScoreMarker状态为运行状态
,同时ScoreMarker调用服务地址要配置正确。
操作系统:Linux、Windows
内存:最低2G,推荐8G
Tomcat 8
RabbitMQ
MySql 5.0以上
在MySql中新建一个数据库examstack
,字符集使用utf8 -- UTF-8 Unicode
使用我们提供的examstack.sql
还原examstack
设置好对应的访问权限
安装最新版本的RabbitMQ,具体安装方法,在网络上可以找到很多。
配置
将Management.war
和Portal.war
放到Tomcat应用程序目录(webapps
)下。
启动Tomcat,webapps目录下会生成两个文件夹(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="***" />
访问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目录。 运行installService.bat后启动服务ScoreMarkerService服务。
系统架构
考试和练习
题库管理
其他
不能获得数据库连接
Cause:org.springframework.jdbc.CannotGetJdbcConnectionException:Could not get JDBC Connection;nested exception is java.sql.SQLException:Access denied for user 'root'@'localhost'
请检查数据库连接字符串是否正确,同时检查数据库名、用户名和密码是否设置正确。
交卷失败
RabbitMQ
没有启动会导致应用程序连接RabbitMQ
失败
请检查RabbitMQ
服务是否启动。
学员交卷后,管理界面学员对应的状态没有改变
交卷成功后,学员考试状态会修改成
已交卷
或者已阅卷
,如果在提示“交卷成功”后没有发生任何变化,证明ScoreMarker没有正常启动或者ScoreMarker调用接口失败。
请检查ScoreMarker是否启动。同时请保证ScoreMarker能调用到Management提供的接口,这一点在ScoreMarker部署中已经说明。
RabbitMQ、MySql、ScoreMarker无法启动或经常被Kill掉
我们在测试过程中发现,内存不足的情况下(我们使用的是1G内存),RabbitMQ、MySql、ScoreMarker经常被Kill,而且无法启动,查看日志会发现提示内存不够。
查看下日志,如果是内存不够的原因,那就赶紧加内存吧。为了保证系统正常运行,内存不能低于2G。
Sign in for post a comment
Comments ( 0 )