«Zhiqim Framework» — это ядро, которое отвечает за управление жизненным циклом проекта: разработку и публикацию структуры каталогов, унифицированные правила конфигурации, определение интерфейсов для однократного и многократного использования сервисов, запуск, работу и завершение сервисов. Также предоставляет базовые инструменты разработки: классы инструментов, классы журналов, пулы потоков, парсеры JSON/XML, HTTP-клиенты, таймеры задач и т. д.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ZHIQIM-CONFIG PUBLIC "-//ZHIQIM //DTD Zhiqim-Config Configuration 1.5.0//EN" "http://zhiqim.org/xmldtds/zhiqim_config_1_5_0.dtd">
<zhiqim-config>
<group id="boot" desc="Система запуска и настройки">
<item key="name" value="Zhiqim Kernel" type="protected" desc="Название системы" />
<item key="version" value="V1.6.0" type="protected" desc="Версия системы" />
<item key="port" value="50080" type="protected" desc="Порт прослушивания системы, используется для запуска прослушивания и команды закрытия проекта" />
<item key="home" value="d:/Java/jdk1.7.0_80/" type="protected" desc="Корневой каталог JDK, путь использует единый прямой слеш, в системе MAC эта настройка недействительна" />
<item key="process" value="zhiqim" type="protected" desc="Используемый процесс, в системе MAC эта настройка недействительна" />
<item key="args" value="-server -Xms64m -Xmx512m" type="protected" desc="Параметры JVM" />
</group>
<group id="service" desc="Конфигурация системы обслуживания, обратите внимание на порядок зависимостей при наличии зависимостей, система загружает их в порядке следования, завершает в обратном порядке">
<item key="helloworld" value="org.zhiqim.example.helloworld.Helloworld" type="protected" desc="Hello,World!сервис"/>
</group>
</zhiqim-config>
package org.zhiqim.example.helloworld;
import org.zhiqim.kernel.Servicer;
import org.zhiqim.kernel.logging.Log;
import org.zhiqim.kernel.logging.LogFactory;
/**
* Сервис HelloWorld
*
* @version v1.0.0 @author zouzhigang 2016-12-21 Новый и реорганизованный
*/
public class Helloworld extends Servicer implements Runnable
{
private static final Log log = LogFactory.getLog(Helloworld.class);
private Thread thread;
@Override
public boolean create() throws Exception
{
log.info("Hello, World! create!!!");
thread = new Thread(this);
thread.start();
return true;
}
@Override
public void run()
{
while (true)
{
try
{
Thread.sleep(1000);
log.info("Hello, World! running...");
}
catch (InterruptedException e)
{//прерывание потока, выход
break;
}
}
}
@Override
public void destroy() throws Exception
{
log.info("Hello, World! destroy!!!");
//Уведомление о состоянии потока
thread.interrupt();
thread = null;
//Приостановка на 5 секунд перед закрытием, демонстрация операции уничтожения при закрытии
log.info("5");
Thread.sleep(1000);
log.info("4");
Thread.sleep(1000);
log.info("3");
Thread.sleep(1000);
log.info("2");
Thread.sleep(1000);
log.info("1");
Thread.sleep(1000);
}
}
``` 
QQ 群:加入 QQ 交流群,请点击 **[458171582]**
教程:欲知更多知启蒙内核, **请戳这里**
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )