And now for something completely different...

I'm trying to run Pax Runner (v0.12.0)-launched application as a Windows 
service. I'm using JSL (http://jslwin.sourceforge.net/) to install and 
run it as a service. It works, but when I start the service, the 
performance tab in the task manager says that it's using 100% of the CPU!

I've tried narrowing the problem down and I've finally reached a point 
where I'm doing a VERY minimal installation of Pax Runner as a service 
(my app isn't even involved anymore...nor are its dependency bundles). 
Here's what the jsl.ini looks like:

    [defines]
    PATH = c:\myapp
    JAVA = %JAVA_HOME%
    PP = %PATH%
    P1 = %P2%
    P2 = %PP%
    MYAPP_HOME = %PATH%

    [service]
    appname = Semantra
    servicename = MyApp
    displayname = MyApp
    servicedescription = MyApp
    stringbuffer = 16000
    starttype=auto
    loadordergroup=someorder   
    useconsolehandler=false
    stopclass=java/lang/System
    stopmethod=exit
    stopsignature=(I)V
    premainmethod=run
    premainsignature=()I
    premain.modules=threaddump
    premain.threaddump.class=com.roeschter.jsl.ThreadDumpListener
    premain.threaddump.method=start
    premain.threaddump.wait=3000
    premain.threaddump.critical=no
    premain.threaddump.interface=127.0.0.1

    [java]
    cmdline = -jar %MYAPP_HOME%/bin/pax/pax-runner-0.12.0.jar --platform=eq

The only thing non-trivial about running Pax Runner this way is that I'm 
using Equinox instead of the default Felix (I get the same results with 
Felix, btw).

Again, nothing special...just a bare-bones Pax Runner. No bundles other 
than the framework bundles are involved. When I start the service, the 
CPU jumps to 100%. Actually, while it's resolving the framework bundles 
from Maven, it stays relatively low (at around 40% or less)...but once 
the framework starts, it plateaus at 100%.

Note that I can run Pax Runner (with or without my app) as a non-service 
and the CPU stabilizes after a brief startup spike. I can also run 
Equinox (java -jar equinox.jar) as a service and the CPU usage remains 
low. So, the culprit seems to be Pax Runner.

I don't expect that anyone listening has tried doing this before, but I 
have to ask: What could Pax Runner be doing after the framework starts 
that would cause it to consume all of the CPU when running as a Window 
service? Once the framework is started, what is there for Pax Runner to 
do? Why so busy?

And...anybody have any ideas on how I could run this as a service and 
*not* use up all of the CPU?



_______________________________________________
general mailing list
general@lists.ops4j.org
http://lists.ops4j.org/mailman/listinfo/general

Reply via email to