Daniel,
Long long ago, version 1.x of the Wrapper used to do just what you are
talking about.
It created a JVM using the JNI interface by linking with the jvm.dll.
There were a number of problems with this approach.
1) The wrapper became a bit tied to the version of Java.
2) It was not possible to run Java exactly as you could with a
standalone JVM.
3) The biggest issue is the ability of the Wrapper to recover and
restart a JVM that
crashes or hangs. When they were in the same process, if the JVM died,
so did the
Wrapper. It was simply a way to launch the JVM as a service, but did not
provide
any of the stability features of the current Wrapper. As far as I know,
all other
competing Java launching tools use the single process method.
Let me know if you have any more questions.
Cheers,
Leif
Daniel Bress wrote:
> I noticed that when I run the wrapper I get two processes
> (wrapper.exe, and java.exe), I know the wrapper.exe is the wrapper,
> and java.exe is the JVM. Isn’t it possible to invoke the JVM
> programmatically so that it starts as a thread, and thusly the
> java.exe process is never created?
>
> I am curious as to why the wrapper uses the approach it does.
>
> Dan
>
> ------------------------------------------------------------------------
>
> *From:* Balaji k. Madhavan [mailto:Ba...@el...]
> *Sent:* Tuesday, September 21, 2004 4:44 AM
> *To:* wra...@li...
> *Subject:* [Wrapper-user] How to get a thread dump in a JVM freeze
> incident?
>
> Dear All,
>
> I'm using java service wrapper 3.1.0 in my application which runs on
> IBM JRE 1.3.0. When the application freezes, we are tring to get
> thread dump using wrapperlistener's "D" command. We couldn't succeed
> in getting a thread dump;no response from the wrapper service. We
> observed that service was in hung state. Even in case of a freeze
> incident, how should I configure the wrapper service to get a thread dump.
>
> I have listed my app configurations as follows:
>
> wrapper.java.command=C:/IBM/Java13/jre/bin/java
> wrapper.java.mainclass=com.elind.service.fixgateway.common.FixMarketDataMainProcess
>
> wrapper.max_failed_invocations=1
> wrapper.ping.timeout=0
> wrapper.java.classpath.1=C:/Test/lib/wrapper.jar
> wrapper.java.classpath.2=C:/Test/lib/FixGateway.jar
> wrapper.java.classpath.3=C:/Test/lib/jgl3.1.0.jar
> wrapper.java.classpath.4=C:/Test/lib/xerces.jar
> wrapper.java.classpath.5=C:/Test/lib/xmlparserv2.jar
> wrapper.java.library.path.1=C:/Test/lib
> wrapper.console.format=PM
> wrapper.console.loglevel=INFO
> wrapper.logfile=../logs/wrapper.log
> wrapper.logfile.format=LPTM
> wrapper.logfile.loglevel=INFO
> wrapper.logfile.maxsize=0
> wrapper.logfile.maxfiles=0
> wrapper.syslog.loglevel=NONE
> wrapper.ntservice.name=FixTradingPartner
> wrapper.ntservice.displayname=FixTradingPartner
> wrapper.ntservice.description=FixTradingPartner
> wrapper.ntservice.dependency.1=
> wrapper.ntservice.starttype=AUTO_START
> wrapper.ntservice.interactive=false
> wrapper.ntservice.console=false
> wrapper.working.dir=C:/Test/batch
>
> Awaiting for you valuable suggestions.
>
> Thanks in advance,
>
> Warm Regards,
> Balaji K M.
>
>
>
>
>
|