[bumping so aleks can see the thread] On Thu, 28 Jan 2016 at 16:41 Andrew Kennedy < [email protected]> wrote:
> Or what about running a Brooklyn Docker image as a systemd service! > > - http://container-solutions.com/running-docker-containers-with-systemd/ > - https://github.com/ibuildthecloud/systemd-docker > > Andrew. > > On Thu, 28 Jan 2016 at 16:34 Alex Heneveld < > [email protected]> > wrote: > > > > > Hi Aleksandr- > > > > What's the advantage of a native daemon over just wrapping it as a linux > > service script ? > > > > Best > > Alex > > > > > > On 28/01/2016 11:32, Aleksandr Vasilev wrote: > > > Hello everyone! > > > > > > I spent last few days looking at the solution to run Brooklyn process > as > > a > > > daemon and found two options: > > > 1. Run daemon via Apache Commons Daemon (jsvc) > > > 2. Write a custom daemon in C > > > > > > Both solutions has its own pros and cons, so let's look at what I think > > > they are: > > > > > > JSVC: > > > Pros: > > > - Ready to use solution. Running a daemon via jsvc is very similar to > > > running java application from the command line with similar arguments > > > passed. > > > - Builds as usual in Maven > > > > > > Cons: > > > - Still requires you to write daemon code, which in my opinion kills > the > > > out-of-the-box usability > > > - Has tons of bugs, including: not been able to find classes in > > classpath, > > > not been able to run by non-root users, not been able to run on several > > > *nix systems (Mac OS, BSD) > > > - The codebase hasn't changed since 2013 and seems abandoned > > > - SVN repo often isn't accessible for some reason, right now the > > webserver > > > returns 503 error code: > > > http://svn.apache.org/viewvc/commons/proper/daemon/trunk/ > > > > > > Custom Daemon (written in C): > > > Pros: > > > - Cross-platform, runs on any *nix system supported by Brooklyn > > > - Very little code to maintain > > > - Independent from third-party solutions, requires only gcc to build > > > - Easy to make LSB-compliant init scripts to control the daemon > > > > > > Cons: > > > - Requires some overhead to build C code in Maven > > > > > > Having all these options considered, I propose writing daemon for > Apache > > > Brooklyn in C language and use gcc compiler to build it. It will > require > > > introducing some changes to Maven build process, but there are plenty > of > > > solutions for doing this, such as Maven NAR plugin, which is actively > > > maintained: > > > https://github.com/maven-nar/nar-maven-plugin > > > > > > Best Regards, > > > Aleksandr Vasilev > > > DevOps Engineer | Cloudsoft Corporation > > > > > > > -- > > Andrew Kennedy ; Founder clocker.io project ; @grkvlt ; Cloudsoft >
