Мне нужно использовать UniTime на Docker, но он не работает должным образом, я получаю сообщение об ошибке при запуске.
Я получаю ошибку:
ERROR TaskExecutorService -> Failed to check for tasks: The session factory has not been initialized (or an error occured during initialization)
java.lang.RuntimeException: The session factory has not been initialized (or an error occured during initialization)
at org.unitime.timetable.model.base._BaseRootDAO.getSessionFactory(_BaseRootDAO.java:111)
at org.unitime.timetable.model.base._BaseRootDAO.getSession(_BaseRootDAO.java:151)
at org.unitime.timetable.model.base._BaseRootDAO.createNewSession(_BaseRootDAO.java:141)
at org.unitime.timetable.server.script.TaskExecutorService.checkForQueuedTasks(TaskExecutorService.java:67)
at org.unitime.timetable.server.script.TaskExecutorService$TaskExecutor.run(TaskExecutorService.java:162)
Dockerfile:
FROM tomcat:8
EXPOSE 8080
RUN apt-get update && \
apt-get install -y apt-utils && \
apt-get install -y default-mysql-server
ENV JAVA_OPTS="-Djava.awt.headless=true -Xmx2g -XX:+UseConcMarkSweepGC"
ENV TOMCAT8_GROUP=tomcat8
ENV TOMCAT8_USER=tomcat8
RUN wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar && \
cp mysql-connector-java-5.1.38.jar /usr/local/tomcat/lib/ && \
wget https://github.com/UniTime/unitime/releases/download/v4.4.140/unitime-4.4_bld140.zip && \
unzip unitime-4.4_bld140.zip -d unitime && \
/etc/init.d/mysql start && \
mysql -uroot -f <unitime/doc/mysql/schema.sql && \
mysql -uroot -f <unitime/doc/mysql/schema.sql && \
mysql -utimetable -punitime <unitime/doc/mysql/blank-data.sql && \
mkdir /usr/local/tomcat/data && \
useradd tomcat && \
chown tomcat /usr/local/tomcat/data && \
cp unitime/web/UniTime.war /usr/local/tomcat/webapps