Пример создания модуля¶
Автор: Виктор Абливанов
Компания: JaNet systems
Ниже приведена пошаговая инструкция создания iJaNet модуля.
Постановка задачи:
1. Создать iJaNet-модуль.
2. Продемонстрировать реализацию работы по расписанию.
3. Реализовать вызов сервиса аутентификации модуля реестра.
4. Сделать примеры для различных видов транспорта.
Все исходные коды приведены в конце статьи.
Пример планируется усложнять по мере поступления пожеланий от пользователей.
Свои пожелания можете отсылать на support@janetsys.com с пометкой "Пример".
Подготовка к работе¶
Требования к окружению¶
- JDK версии 1.6 или выше можно загрузить по адресу. Рекомендуется использовать последнюю доступную версию JDK. Далее для ссылок на место установки JDK будет использоваться следующее обозначение
$JAVA_HOME. - maven версии 1.6 или выше доступен по адресу. Рекомендуется использовать последнюю доступную версию maven. Далее для ссылок на место установки maven будет использоваться следующее обозначение
$MAVEN_HOME. - Последнюю версию платформы iJaNet. Процесс установки платформы iJaNet рассмотрен в п 3.3 "этой статье."http://ijanet.org/projects/janet/wiki/IJaNet_SM_DEPLOYMENT_JBOSS4X. Далее для ссылок на место установки платформы будем использовать следующее обозначение
$JANET_HOME. - Создать папку в которую будет помещены создаваемые janet-модули и описание бизнес-процесса. Далее ссылки на эту папку будем обозначать
$JANET_PROJECTS. - Последнюю версию iJaNet SDK for java. Пример создания модуля приведен в данной статье.
Создание работы по расписанию.¶
- Для создания работы по расписанию, необходимо создать класс, унаследовать его от интерфейса IScheduledJob и реализовать в нем метод run():
package pack; import org.ijanet.core.jobs.IScheduledJob; import org.ijanet.core.jobs.JobException; public class MySimpleJob implements IScheduledJob { public void run() throws JobException { System.out.println("My new job runs"); } } - В файле конфигурации модуля в секции <scheduled-jobs> создать описание созданной работы по расписанию:
<job start-delay="1000" interval="100000"> <job-class>pack.MyJob<job-class> </job>
, где: - start-delay - интервал времени (в мс.), через которое работа будет запущена;
- interval - интервал времени(в мс.), через которое работа будет повторяться;
- <job-class> - полный путь к классу работы по расписанию, унаследованному от интерфейса IScheduledJob.