Как правильно сделать с технической точки зрения?
зачем для этого поднимать сервер (имеет смысл только если нужен удаленный доступ)?
консольные приложения прекрасно запускаются в фоне, стартуют вместе с системой, да и выхлоп можно элементарно смотреть.
Лучше сделать фоновый сервис, запускающий два демонизированных потока. Один поток будет выполнять логику вашего консольного приложения, а второй с помощью интегрированного jetty предоставлять web-интерфейс для мониторинга и управления.