-
Notifications
You must be signed in to change notification settings - Fork 0
build
Пока предварительно!
-
WebHarvest— библиотеки проекта должны располагаться в каталогеcommon/lib/web-harvest/. Их можно скачать здесь -
Интерфейс
JDBCдляMySQL— должен располагаться в каталогеcommon/lib/. - Библиотеки проекта
Apacheдля доступа к данным. Пока используется эта и эта. Эти библиотеки должны располагаться в каталогеcommon/lib. -
Модуль по работе с
JSON. Должен располагаться в каталогеcommon/lib. -
Spring Framework.
Из архива следует извлечь каталог
distи разместить его содержимое в каталогеcommon/lib/spring. -
HTTP-серверJetty. Содержимое каталогаlib/дистрибутива следует разместить в каталогеcommon/lib/jetty. -
Библиотека сериализации
XStream. Содержимое каталогаlib/дистрибутива следует разместить в каталогеcommon/lib/xstream. -
Интерфейс демона Sphinx. Его следует разместить в каталоге
common/lib.
Для снижения нагрузки на внешние серверы предлагаю использовать кэширующий прокси-сервер SQUID.
Пользователи Linux-дистрибутива, основанного на Debian, могут установить его командой
apt-get install squid
Конфигурация по умолчанию вполне подходит для локального использования. Сервер будет слушать порт 3128 на всех интерфейсах.
Перед запуском модулей сбора информации из внешних источников следует запустить скрипт
common/script/initdb.sh. Этот скрипт создаст необходимую структуру базы данных.
Перед запуском любых модулей следует проинициализировать переменные окружения с помощью
команды source init_env.sh, которую следует выполнить в корне репозитория.
Скрипты запуска модудя располагаются по адресу <название модуля>/script/run.sh.
Конфигурационный файл должен располагаться в каталоге miner/src/config/
Пример конфигурационного файла для майнера:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<!--Database configuration-->
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource" lazy-init="false">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/excursion_organizer?characterEncoding=utf8"/>
<property name="username" value="exorg"/>
<property name="password" value=""/>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate" lazy-init="false">
<constructor-arg ref="dataSource"/>
</bean>
<bean id="poi" class="eo.common.POI">
<constructor-arg ref="jdbcTemplate"/>
</bean>
<bean id="miner" class="eo.miner.Main">
<property name="POI" ref="poi"/>
<property name="config" value="ilovepetersburg-ru-culture.cfg.xml;ilovepetersburg-ru-monuments.cfg.xml"/>
<property name="proxy" value="127.0.0.1:3128"/>
</bean>
</beans>Свойство config указывает положение сценариев для сбора информации из внешних источников.
Свойство proxy указывает, какой прокси-сервер должен использовать майнер для обращения к
внешним ресурсам. Если прокси-сервер не испольуется, то эту строчку можно удалить.
Конфигурационный файл должен располагаться в каталоге processing/src/config/
Пример конфигурационного файла модуля процессинга:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource" lazy-init="false">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/excursion_organizer?characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate" lazy-init="false">
<constructor-arg ref="dataSource"/>
</bean>
<bean id="poi" class="eo.common.POI">
<constructor-arg ref="jdbcTemplate"/>
</bean>
<bean id="processingDaemon" class="eo.processing.Main">
<property name="POI" ref="poi"/>
<property name="proxy" value="127.0.0.1:3128"/>
</bean>
</beans>Конфигурационный файл должен располагаться в каталоге http_server/src/config/
Пример конфигурационного файла HTTP-сервера:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean id="serverDaemon" class="eo.frontend.httpserver.Main">
<property name="interface" value="localhost:8080"/>
<property name="handler">
<bean class="eo.frontend.httpserver.POIService" />
</property>
</bean>
</beans>Свойство interface указывает, какой сетевой интерфейс и какой порт на нем должен
прослушивать сервер.
Перед запуском HTTP-сервера следует проиндексировать базу данных.
Для этого следует запустить скрипт common/script/index.py.
- исходный файлы модуля проекта лежат в каталоге
<название модуля>/src/java/, - скомпилированные файлы классов складываются в каталог
<название модуля>/build/classes/, - готовые модули складываются (в виде JAR-архивов) в каталог
common/lib/, - пути к скриптам запуска модулей:
<название модуля>/src/script/run.sh