You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
(13) |
Nov
(16) |
Dec
(29) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(38) |
Feb
(51) |
Mar
(51) |
Apr
(115) |
May
(82) |
Jun
(30) |
Jul
(50) |
Aug
(68) |
Sep
(57) |
Oct
(160) |
Nov
(80) |
Dec
(78) |
| 2004 |
Jan
(71) |
Feb
(75) |
Mar
(108) |
Apr
(87) |
May
(79) |
Jun
(70) |
Jul
(69) |
Aug
(39) |
Sep
(52) |
Oct
(47) |
Nov
(50) |
Dec
(32) |
| 2005 |
Jan
(22) |
Feb
(122) |
Mar
(46) |
Apr
(76) |
May
(31) |
Jun
(51) |
Jul
(61) |
Aug
(70) |
Sep
(37) |
Oct
(46) |
Nov
(57) |
Dec
(83) |
| 2006 |
Jan
(55) |
Feb
(81) |
Mar
(51) |
Apr
(67) |
May
(77) |
Jun
(43) |
Jul
(106) |
Aug
(64) |
Sep
(47) |
Oct
(64) |
Nov
(60) |
Dec
(12) |
| 2007 |
Jan
(50) |
Feb
(93) |
Mar
(49) |
Apr
(56) |
May
(40) |
Jun
(63) |
Jul
(40) |
Aug
(47) |
Sep
(54) |
Oct
(37) |
Nov
(54) |
Dec
(37) |
| 2008 |
Jan
(35) |
Feb
(39) |
Mar
(26) |
Apr
(14) |
May
(23) |
Jun
(51) |
Jul
(43) |
Aug
(26) |
Sep
(29) |
Oct
(31) |
Nov
(24) |
Dec
(16) |
| 2009 |
Jan
(21) |
Feb
(30) |
Mar
(74) |
Apr
(26) |
May
(26) |
Jun
(43) |
Jul
(23) |
Aug
(23) |
Sep
(15) |
Oct
(27) |
Nov
(37) |
Dec
(10) |
| 2010 |
Jan
(16) |
Feb
(28) |
Mar
(16) |
Apr
(45) |
May
(8) |
Jun
(68) |
Jul
(45) |
Aug
(44) |
Sep
(51) |
Oct
(7) |
Nov
(20) |
Dec
(21) |
| 2011 |
Jan
(14) |
Feb
(17) |
Mar
(7) |
Apr
(7) |
May
(48) |
Jun
(23) |
Jul
(5) |
Aug
(33) |
Sep
(22) |
Oct
(14) |
Nov
(14) |
Dec
(5) |
| 2012 |
Jan
|
Feb
(10) |
Mar
(12) |
Apr
(51) |
May
(10) |
Jun
(8) |
Jul
(14) |
Aug
(22) |
Sep
(9) |
Oct
(24) |
Nov
(14) |
Dec
(13) |
| 2013 |
Jan
(12) |
Feb
(4) |
Mar
(14) |
Apr
(19) |
May
(2) |
Jun
(5) |
Jul
(13) |
Aug
(10) |
Sep
(4) |
Oct
(11) |
Nov
(13) |
Dec
(2) |
| 2014 |
Jan
(3) |
Feb
(14) |
Mar
(5) |
Apr
(10) |
May
(10) |
Jun
(11) |
Jul
(10) |
Aug
(3) |
Sep
(13) |
Oct
(22) |
Nov
(14) |
Dec
(32) |
| 2015 |
Jan
(8) |
Feb
(2) |
Mar
(17) |
Apr
(1) |
May
(24) |
Jun
|
Jul
(4) |
Aug
|
Sep
(9) |
Oct
(9) |
Nov
(5) |
Dec
(2) |
| 2016 |
Jan
(8) |
Feb
(6) |
Mar
(6) |
Apr
(9) |
May
(3) |
Jun
(2) |
Jul
(7) |
Aug
(6) |
Sep
|
Oct
|
Nov
(1) |
Dec
(6) |
| 2017 |
Jan
(9) |
Feb
(8) |
Mar
(6) |
Apr
|
May
|
Jun
(3) |
Jul
(13) |
Aug
(10) |
Sep
(8) |
Oct
|
Nov
(6) |
Dec
|
| 2018 |
Jan
|
Feb
(5) |
Mar
(7) |
Apr
(2) |
May
|
Jun
|
Jul
(3) |
Aug
(2) |
Sep
(9) |
Oct
(1) |
Nov
(1) |
Dec
(1) |
| 2019 |
Jan
(9) |
Feb
|
Mar
|
Apr
(10) |
May
(3) |
Jun
|
Jul
(7) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
|
Dec
|
| 2020 |
Jan
(1) |
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2021 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(3) |
| 2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2023 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2024 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2026 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Leif M. <le...@ta...> - 2006-09-27 06:52:55
|
Andreas,
Thanks for pointing these problems out. They have both been fixed
for the 3.2.2 release.
(A release date has not yet been set.)
Cheers,
Leif
And...@t-... wrote:
>
> Hi,
>
> I want to use both "wrapper.pidfile" and "wrapper.java.pidfile" (on
> Linux), but they contain the same value (=PID of the wrapper process).
>
> The "wrapper.java.pidfile" is also not removed after the process stops
> and the "wrapper.java.pidfile" is not updated, when the JVM is restarted.
>
> Kind regards
> ]Andreas
>
|
|
From: Eva L. <ma...@ya...> - 2006-09-27 06:37:27
|
Hi Leif, I see, my application is running on Windows XP. Thanks for your advice :) Leif Mortenson <le...@ta...> wrote: Eva, That is not something that the wrapper supports directly. What platform are you running on? There are ways to do this on the various platforms. Cheers, Leif Eva Lim wrote: > Hi, > > Am I able to schedule the Java Service Wrapper to restart the JVM and > my application at a particular time of the day? > > Many thanks for your help! > > > Cheers, > Angela > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Wrapper-user mailing list Wra...@li... https://lists.sourceforge.net/lists/listinfo/wrapper-user |
|
From: Leif M. <le...@ta...> - 2006-09-27 05:50:56
|
Eva, That is not something that the wrapper supports directly. What platform are you running on? There are ways to do this on the various platforms. Cheers, Leif Eva Lim wrote: > Hi, > > Am I able to schedule the Java Service Wrapper to restart the JVM and > my application at a particular time of the day? > > Many thanks for your help! > > > Cheers, > Angela > |
|
From: Eva L. <ma...@ya...> - 2006-09-27 05:27:45
|
Hi, Am I able to schedule the Java Service Wrapper to restart the JVM and my application at a particular time of the day? Many thanks for your help! Cheers, Angela |
|
From: Leif M. <le...@ta...> - 2006-09-26 14:16:21
|
Hi all, Just wanted to let you all know that the Wrapper source has been successfully moved from CVS to SVN. The CVS repository will no longer be used. You can access the new SVN repository by checking out the following: svn checkout https://svn.sourceforge.net/svnroot/wrapper/trunk/wrapper Let me know if you encounter any problems. Cheers, Leif |
|
From: <And...@t-...> - 2006-09-25 15:31:37
|
Hi, I want to use both "wrapper.pidfile" and "wrapper.java.pidfile" (on Linux), but they contain the same value (=3DPID of the wrapper process). = The "wrapper.java.pidfile" is also not removed after the process stops and the "wrapper.java.pidfile" is not updated, when the JVM is restarted. Kind regards Andreas |
|
From: <Han...@ca...> - 2006-09-25 15:13:39
|
I set the wrapper.ntservice.account (and password) to the same user that =
runs the wrapper.exe -c
(in userinfo.conf below)
but it didn't help.
The directory structure looks like:
Dataserver
config.conf
JavaServiceWrapper (unpack of your distribution)
bin
wrapper.exe
logs
lib
wrapper.jar
wrapper.dll
I start the whole thing in the Dataserver directory
I have bat-file that looks like:
set CONF_FILE=3D..\..\dataserver\config.conf
set JWRAPPER=3D..\JavaServiceWrapper\bin\wrapper.exe
%JWRAPPER% -i %CONF_FILE%
if %ERRORLEVEL% neq 0 goto failure
%JWRAPPER% -t %CONF_FILE%
if %ERRORLEVEL% neq 0 goto failure
The config file looks like (The wrapper.log file ends up in the =
dataserver directory):
wrapper.working.dir =3D ../../dataserver
wrapper.java.command=3Djava
wrapper.java.initmemory =3D 64
wrapper.java.maxmemory =3D 128
wrapper.java.library.path.1 =3D ../JavaServiceWrapper/lib
wrapper.java.library.path.2 =3D ../lib
wrapper.java.classpath.1 =3D ../JavaServiceWrapper/lib/wrapper.jar
wrapper.java.classpath.2 =3D ./lib/dataserver.jar
wrapper.java.classpath.3 =3D ./lib/mq.jar
wrapper.java.mainclass =3D =
org.tanukisoftware.wrapper.WrapperSimpleApp
wrapper.app.parameter.1 =3D dataserver.Application
wrapper.app.parameter.2 =3D ./properties/dataserver.properties
wrapper.console.loglevel=3DDEBUG
wrapper.logfile =3D =
../JavaServiceWrapper/logs/DataServer-YYYYMMDD.log
wrapper.logfile.format =3D LPTM
wrapper.logfile.maxfiles =3D 7
wrapper.logfile.rollmode =3D DATE
wrapper.syslog.loglevel =3D NONE
wrapper.ntservice.description =3D The DataServer
wrapper.ntservice.displayname =3D DataServer
wrapper.ntservice.name =3D DataServer
wrapper.ntservice.interactive =3D false
wrapper.ntservice.starttype =3D AUTO_START
#include ../../dataserver/userinfo.conf
-----Original Message-----
From: wra...@li... =
[mailto:wra...@li...] On Behalf Of Leif =
Mortenson
Sent: den 25 september 2006 16:10
To: wra...@li...
Subject: Re: [Wrapper-user] Q: stdout output ends up in the logfile when =
running wrapper.exe -c .. but not when running wrapper -t ....
Hans,
Can you describe your directory structure a bit more. Where is the=20
wrapper.log file
that you are seeing being generated? I ask because the Wrapper has a=20
fail mode
where it will default to creating a file called wrapper.log in the same=20
directory as the
wrapper.exe if it can not write to the configured wrapper.logfile for=20
any reason.
When running as a service, it may also fall back to writing in the=20
windows/system32
directory.
Now, as to why it would be unable to write the file. The Wrapper runs=20
as the
currently logged in user when running console mode. When it is running=20
as a service
however, it will default to running as the SYSTEM user. You can change=20
this using
the wrapper.ntservice.account property, but the default is the SYSTEM =
user.
If you have set up any access permissions on your directory structure,=20
it may not
be possible for the SYSTEM user to write to the directory you have =
specified
for your log file. The SYSTEM user is also unable to access network=20
drives.
Cheers,
Leif
Hans Jens=E9us wrote:
> On Win XP, when I start my app (using WrapperSimpleApp) with =
wrapper.exe -c config.conf
> System.out shows up in the logfile that is specified in config.conf
>
> But if I start my app as an NT service (using wrapper.exe -t =
config.conf)
> then System.out shows up in wrapper.log
>
> The logging & NT part of config.conf looks like:
> wrapper.logfile =3D =
../JavaServiceWrapper/logs/DataServer-YYYYMMDD.log
> wrapper.logfile.format =3D LPTM
> wrapper.logfile.maxfiles =3D 7
> wrapper.logfile.rollmode =3D DATE
> wrapper.syslog.loglevel =3D NONE
>
> wrapper.ntservice.description =3D The DataServer
> wrapper.ntservice.displayname =3D DataServer
> wrapper.ntservice.name =3D DataServer
> wrapper.ntservice.interactive =3D false
> wrapper.ntservice.starttype =3D AUTO_START
>
> I would like to have System.out to go into the logfile when I run as a =
service (to get rolling going)
> Is there a property that I've missed or what should I do?
>
> R.
>
> Hans
> =20
-------------------------------------------------------------------------=
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share =
your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D=
DEVDEV
_______________________________________________
Wrapper-user mailing list
Wra...@li...
https://lists.sourceforge.net/lists/listinfo/wrapper-user
|
|
From: Leif M. <le...@ta...> - 2006-09-25 14:10:05
|
Hans, Can you describe your directory structure a bit more. Where is the wrapper.log file that you are seeing being generated? I ask because the Wrapper has a fail mode where it will default to creating a file called wrapper.log in the same directory as the wrapper.exe if it can not write to the configured wrapper.logfile for any reason. When running as a service, it may also fall back to writing in the windows/system32 directory. Now, as to why it would be unable to write the file. The Wrapper runs as the currently logged in user when running console mode. When it is running as a service however, it will default to running as the SYSTEM user. You can change this using the wrapper.ntservice.account property, but the default is the SYSTEM user. If you have set up any access permissions on your directory structure, it may not be possible for the SYSTEM user to write to the directory you have specified for your log file. The SYSTEM user is also unable to access network drives. Cheers, Leif Hans Jenséus wrote: > On Win XP, when I start my app (using WrapperSimpleApp) with wrapper.exe -c config.conf > System.out shows up in the logfile that is specified in config.conf > > But if I start my app as an NT service (using wrapper.exe -t config.conf) > then System.out shows up in wrapper.log > > The logging & NT part of config.conf looks like: > wrapper.logfile = ../JavaServiceWrapper/logs/DataServer-YYYYMMDD.log > wrapper.logfile.format = LPTM > wrapper.logfile.maxfiles = 7 > wrapper.logfile.rollmode = DATE > wrapper.syslog.loglevel = NONE > > wrapper.ntservice.description = The DataServer > wrapper.ntservice.displayname = DataServer > wrapper.ntservice.name = DataServer > wrapper.ntservice.interactive = false > wrapper.ntservice.starttype = AUTO_START > > I would like to have System.out to go into the logfile when I run as a service (to get rolling going) > Is there a property that I've missed or what should I do? > > R. > > Hans > |
|
From: <Han...@ca...> - 2006-09-25 13:34:34
|
On Win XP, when I start my app (using WrapperSimpleApp) with wrapper.exe = -c config.conf System.out shows up in the logfile that is specified in config.conf But if I start my app as an NT service (using wrapper.exe -t = config.conf) then System.out shows up in wrapper.log The logging & NT part of config.conf looks like: wrapper.logfile =3D = ../JavaServiceWrapper/logs/DataServer-YYYYMMDD.log wrapper.logfile.format =3D LPTM wrapper.logfile.maxfiles =3D 7 wrapper.logfile.rollmode =3D DATE wrapper.syslog.loglevel =3D NONE wrapper.ntservice.description =3D The DataServer wrapper.ntservice.displayname =3D DataServer wrapper.ntservice.name =3D DataServer wrapper.ntservice.interactive =3D false wrapper.ntservice.starttype =3D AUTO_START I would like to have System.out to go into the logfile when I run as a = service (to get rolling going) Is there a property that I've missed or what should I do? R. Hans =20 |
|
From: Leif M. <le...@ta...> - 2006-09-23 02:19:10
|
Casey, The wrapper.java.command, wrapper.java.classpath.n, and wrapper.java.library.path.n values should be auto wrapped in quotes. I am wondering if you have any other parameters defined. Could you do the following? Add the wrapper.java.command.loglevel=INFO property and rerun. This will cause the full java command to be logged to the wrapper.log file. Post that back to the list in your reply. Also please post your full wrapper.conf file as an attachment. It is also possible to avoid this problem altogether by using relative paths. Everything must be relative to the location of the wrapper.exe. If your wrapper.exe is located in your Corticon\Apache\common\bin directory for example, the following values could be used: wrapper.java.command=../../../JRE/bin/java wrapper.java.classpath.1=../lib/wrapper.jar wrapper.java.classpath.2=../../bin/bootstrap.jar This will make your application much more portable as well as it can not be installed anywhere in a user's system. Let me see your output and conf file from your static paths first however. Cheers, Leif Casey Kochmer wrote: > I am using the latest build of: Wrapper_3.2.1 > <http://sourceforge.net/project/showfiles.php?group_id=39428&package_id=31591&release_id=431137> > [Notes > <http://sourceforge.net/project/shownotes.php?release_id=431137&group_id=39428>] > (2006-07-10 19:17) > Ok I have some silly questions: > > when I do this in the config file: > > wrapper.java.command=C:\Program Files\Corticon\JRE\bin\java > > I get the following error > > STATUS | wrapper | 2006/09/22 15:48:32 | Launching a JVM... > INFO | jvm 1 | 2006/09/22 15:48:32 | java.util.zip.ZipException : > The system cannot find the file specified > > How do you handle spaces in windows 2003 server enviroment? > > > So then for testing purposes I use the default JVM but then I have > issues with the spaces in the classpath and Parms > > wrapper.java.classpath.1=C:\Program > Files\Corticon\Apache\common\lib\wrapper.jar > wrapper.java.classpath.2=C:\Program > Files\Corticon\Apache\bin\bootstrap.jar > > with the following error: > > STATUS | wrapper | 2006/09/22 16:16:53 | --> Wrapper Started as Console > STATUS | wrapper | 2006/09/22 16:16:53 | Launching a JVM... > INFO | jvm 1 | 2006/09/22 16:16:53 | Unable to access jarfile > Files\Corticon\Apache > > From the error its clear its having parsing issues. I tried using a > sys variable but it gives me similiar headache > > I also have problems with the parms > > > # Java Additional Parameters > wrapper.java.additional.1=-jar > wrapper.java.additional.2=-Duser.dir=C:\Program Files\Corticon\Apache > > > help for newbie! |
|
From: Casey K. <per...@gm...> - 2006-09-22 23:22:53
|
I am using the latest build of: Wrapper_3.2.1<http://sourceforge.net/project/showfiles.php?group_id=39428&package_id=31591&release_id=431137> [Notes<http://sourceforge.net/project/shownotes.php?release_id=431137&group_id=39428>] (2006-07-10 19:17) Ok I have some silly questions: when I do this in the config file: wrapper.java.command=C:\Program Files\Corticon\JRE\bin\java I get the following error STATUS | wrapper | 2006/09/22 15:48:32 | Launching a JVM... INFO | jvm 1 | 2006/09/22 15:48:32 | java.util.zip.ZipException: The system cannot find the file specified How do you handle spaces in windows 2003 server enviroment? So then for testing purposes I use the default JVM but then I have issues with the spaces in the classpath and Parms wrapper.java.classpath.1=C:\ProgramFiles\Corticon\Apache\common\lib\wrapper.jar wrapper.java.classpath.2=C:\Program Files\Corticon\Apache\bin\bootstrap.jar with the following error: STATUS | wrapper | 2006/09/22 16:16:53 | --> Wrapper Started as Console STATUS | wrapper | 2006/09/22 16:16:53 | Launching a JVM... INFO | jvm 1 | 2006/09/22 16:16:53 | Unable to access jarfile Files\Corticon\Apache >From the error its clear its having parsing issues. I tried using a sys variable but it gives me similiar headache I also have problems with the parms # Java Additional Parameters wrapper.java.additional.1=-jar wrapper.java.additional.2=-Duser.dir=C:\Program Files\Corticon\Apache help for newbie! |
|
From: Leif M. <le...@ta...> - 2006-09-20 23:26:14
|
Shann, prashant n wrote: > i am able to run all my java classes and jboss app server through > service wrapper. I have a server with 2 GB RAM and 2 cpus. I would > like to use the JVM tuning options like -Xss256k, -XX:+UseParallelGC, > -XX:ParallelGCThreads=20 and -XX:+AggressiveOpts. How should i specify > these in my conf file ? > > is this the right way of doing this jvm optimization ? > > wrapper.java.additional.5=-Xss256k > wrapper.java.additional.6=-XX:+UseParallelGC > wrapper.java.additional.7=-XX:ParallelGCThreads=20 > wrapper.java.additional.8=-XX:+AggressiveOpts This looks correct assuming the 1-4 properties also are defined. Have you tried this? > If my init & max meomries are set 1024 MB then how much total memory > is cosumed by the system along with the service wrapper ? It depends on the JVM version, but the java portion of the wrapper is very light weight. and only takes a little over the standalone JVM. The Wrapper binary process a couple MB. Why do you want your init memory so high. From what I have seen that will mainly just slow down the startup of your application. Once the memory is allocated, the JVM will run faster. But that will happen after it has allocated it the first time anyway. You do get the benefit of knowing if there is going to be enough memory right at startup though. Problem is that the JVM will take all of that memory even if it doesn't really need it. It also has the drawback that the garbage collector will wait longer to do Gcs. That may seem good at first, but depending on JVM version, each individual Gc will be longer and cause larger hiccups in your app. Cheers, Leif |
|
From: Leif M. <le...@ta...> - 2006-09-20 23:19:30
|
Jim,
That has been on my todo list for a while. But the wrapper has
never included a
WrapperW version.
Cheers,
Leif
Jim Redman wrote:
> Whatever happened to WrapperW? We used to use it on Windows to desktop
> applications without a console window. Can it still be built from the
> source? Does it still work?
>
> Jim
>
>
|
|
From: Jim R. <jr...@er...> - 2006-09-20 22:52:57
|
Whatever happened to WrapperW? We used to use it on Windows to desktop applications without a console window. Can it still be built from the source? Does it still work? Jim -- Jim Redman (505) 662 5156 x85 http://www.ergotech.com |
|
From: prashant n <ma...@30...> - 2006-09-20 22:09:28
|
hi, i am able to run all my java classes and jboss app server through service wrapper. I have a server with 2 GB RAM and 2 cpus. I would like to use the JVM tuning options like -Xss256k, -XX:+UseParallelGC, -XX:ParallelGCThreads=20 and -XX:+AggressiveOpts. How should i specify these in my conf file ? is this the right way of doing this jvm optimization ? wrapper.java.additional.5=-Xss256k wrapper.java.additional.6=-XX:+UseParallelGC wrapper.java.additional.7=-XX:ParallelGCThreads=20 wrapper.java.additional.8=-XX:+AggressiveOpts If my init & max meomries are set 1024 MB then how much total memory is cosumed by the system along with the service wrapper ? please guide regards shann ----------------------------------------------------------- Sign up and get your 30GB webmail at www.30gigs.com now! |
|
From: Leif M. <le...@ta...> - 2006-09-15 06:50:40
|
Daniel, Yazbek, Daniel (Daniel) wrote: > I have downloaded and built wrapper v3.2.2-a from CVS. > > >From the testing I have done, the SIGHUP signal does get to the JVM, and > can be caught by the controlEvent in a class that implements > WrapperListener... Great! This works exactly as we anticipated. > Ok thanks for trying it out. > In the v3.2.2-a implementation, when a SIGHUP is received in wrapper, > does wrapper reload its config file? > The wrapper only reloads its config file if the wrapper.restart.reload_configuration property is TRUE when the JVM is restarted. For this reason, it will only be reloaded if you have wrapper.signal.mode.hup=RESTART. That will not work for you however as you do not want to restart your JVM. > When is the anticipated release date of v3.2.2? > I don't have a date right now. Still in development mode. Cheers, Leif > -----Original Message----- > From: wra...@li... > [mailto:wra...@li...] On Behalf Of Yazbek, > Daniel (Daniel) > Sent: Friday, 15 September 2006 15:15 > To: wra...@li... > Subject: Re: [Wrapper-user] Support SIGHUP Handling > > Leif, > > Thank you for your suggestion, I added the kill(jvmPid, sig_num) > statement in my sigActionHangup function and it worked! > > To put things into context, we would like to use SIG_HUP to reload the > config file used in the java application that is wrapped up within > wrapper. We do not want to terminate and start the java application, nor > do we want to terminate and start the wrapper application (although, we > don't mind if wrapper re-reads its config... this will never change for > us). It is important that the JVM is not interrupted. > > I would be happy to investigate v3.2.2 to see if it meets our needs > mentioned above. I will let you know how I go. > > > Further, in wrapper_unix.c I noticed you have the following two > functions: > > void sigActionTermination(int sigNum, siginfo_t *sigInfo, void *na) > void handleTermination(int sig_num) > > These two methods seem to be near identical in functionality, and for my > implementation of SIG_HUP, I have followed this convention. I have the > following two functions: > > void sigActionHangup( int sigNum, siginfo_t *sigInfo, void *na) > void handleHangup(int sig_num) > > With some debug logging, I have noticed that when I send a SIG_HUP to > wrapper, it is caught in the sigActionHangup method (i.e. not the > handleHangup method)... My question to you is, why are there two handle > methods defined for each signal type? What is the difference? And when > are each used? > > Thanks. > > -Daniel. > > > -----Original Message----- > From: wra...@li... > [mailto:wra...@li...] On Behalf Of Leif > Mortenson > Sent: Thursday, 14 September 2006 14:41 > To: wra...@li... > Subject: Re: [Wrapper-user] Support SIGHUP Handling > > Daniel, > The problem in your code is that you are trapping the HUP signal in the > Wrapper > process. That is part of the problem, but that signal is not yet being > sent on to the > Java process. If you send the Signal to the JVM process it would work. > > To fix these, you will need the following in your handleHangup function: > kill(jvmPid, sig_num) > > That said though, I have gotten this implemented for the 3.2.2 release. > It is all checked > in to CVS. If you could try it out it would be a big help. > > I have also added a new property, wrapper.signal.mode.hup, which takes > the values > IGNORE, SHUTDOWN, RESTART, or FORWARD. FORWARD is the default, > which sends the signal on to the JVM process. > > The RESTART mode can be used with the > wrapper.restart.reload_configuration > <http://wrapper.tanukisoftware.org/doc/english/prop-restart-reload-confi > guration.html> > property to cause the Wrapper to reload its wrapper.conf and restart the > > JVM when > it gets a HUP signal. As I understand it, that is a common use of this > signal. > > Are there any other signals which should be handled as well? > > Cheers, > Leif > > Yazbek, Daniel (Daniel) wrote: > >> Hi all, >> >> We are attempting to modify wrapper so that a SIGHUP can be handled by >> > > >> java code, I am after some help/suggestions. >> >> Here is what I've done so far: >> >> Modified WrapperManager.java with: >> >> *public* *static* *final* *int* WRAPPER_CTRL_SIGHUP_EVENT = 205; >> >> Recompiled the code, javah added this definition into >> org_tanukisoftware_wrapper_WrapperManager.h >> >> Modified wrapper_unix.c with: >> >> - added case in getSignalName(int signo) >> >> - written a handleHangup(int sig_num) function, with deceleration: >> >> *void* handleHangup(*int* sig_num) { >> >> /* Ignore any other signals while in this handler. */ >> >> signal(SIGHUP, SIG_IGN); >> >> handleCommon("HUP"); >> >> signal(SIGHUP, handleHangup); >> >> } >> >> - Modified wrapperInitialize() to support SIGHUP >> >> Modified wrapperjni_unix.c with: >> >> - added a handleHandup(int sig_num) function: >> >> *void* handleHangup(*int* sig_num) { >> >> signal(SIGHUP, handleHangup); >> >> > WrapperJNIHandleSignal(org_tanukisoftware_wrapper_WrapperManager_WRAPPER > _CTRL_SIGHUP_EVENT); > >> } >> >> - Set the above handler for a SIGHUP in the init function >> >> So, I guess I am missing something. I cannot get the SIGHUP in the >> java application from the controlEvent(int arg0) method of my class >> that implements WrapperListener. >> >> However, when I send a sighup, I get "HUP Trapped" in the log file, >> which is being generated by >> >> handleCommon(const char* sigName) >> >> I am not familiar with the architecture and a newbie to wrapper... >> >> Does anyone have any suggestions on where I should be heading towards >> from here? >> >> Thanks. >> >> -Dan. >> >> > > > ------------------------------------------------------------------------ > - > Using Tomcat but need to do more? Need to support web services, > security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > > ------------------------------------------------------------------------ > - > Using Tomcat but need to do more? Need to support web services, > security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Leif M. <le...@ta...> - 2006-09-15 06:47:07
|
Daniel, Yazbek, Daniel (Daniel) wrote: > To put things into context, we would like to use SIG_HUP to reload the > config file used in the java application that is wrapped up within > wrapper. We do not want to terminate and start the java application, nor > do we want to terminate and start the wrapper application (although, we > don't mind if wrapper re-reads its config... this will never change for > us). It is important that the JVM is not interrupted. > > I would be happy to investigate v3.2.2 to see if it meets our needs > mentioned above. I will let you know how I go. > Ok. This should be possible to control by using the new wrapper.signal.mode.hum property. If it is SHUTDOWN, the wrapper and JVM will be stopped. If it is RESTART, the wrapper will stay running, but the JVM will be stopped and restarted. If the wrapper.restart.reload_configuration property is also used then the wrapper.conf file can be reloaded while the JVM is down. If it is IGNORE, it is of course ignored. If it is FORWARD then the JVM will sent the signal. You can then trap it using the WrapperListener or WrapperControlEvent. This is what you want to do to keep the JVM running and reload your settings manually. Your version is basically in hardcoded FORWARD mode. > Further, in wrapper_unix.c I noticed you have the following two > functions: > > void sigActionTermination(int sigNum, siginfo_t *sigInfo, void *na) > void handleTermination(int sig_num) > > These two methods seem to be near identical in functionality, and for my > implementation of SIG_HUP, I have followed this convention. I have the > following two functions: > > void sigActionHangup( int sigNum, siginfo_t *sigInfo, void *na) > void handleHangup(int sig_num) > > With some debug logging, I have noticed that when I send a SIG_HUP to > wrapper, it is caught in the sigActionHangup method (i.e. not the > handleHangup method)... My question to you is, why are there two handle > methods defined for each signal type? What is the difference? And when > are each used? > If you look closely, those two sets of functions are exclusive. You can control which is used by making use of the WRAPPER_USE_SIGACTION definition. Using sigaction rather than signal makes it possible to gain more information about where signals are coming from. I kept the old signal code in there to make it easy to go back if any problems were encountered with the sigaction implementation. It seems to be working however, so I can probably go ahead and remove that dead code. Cheers, Leif > -----Original Message----- > From: wra...@li... > [mailto:wra...@li...] On Behalf Of Leif > Mortenson > Sent: Thursday, 14 September 2006 14:41 > To: wra...@li... > Subject: Re: [Wrapper-user] Support SIGHUP Handling > > Daniel, > The problem in your code is that you are trapping the HUP signal in the > Wrapper > process. That is part of the problem, but that signal is not yet being > sent on to the > Java process. If you send the Signal to the JVM process it would work. > > To fix these, you will need the following in your handleHangup function: > kill(jvmPid, sig_num) > > That said though, I have gotten this implemented for the 3.2.2 release. > It is all checked > in to CVS. If you could try it out it would be a big help. > > I have also added a new property, wrapper.signal.mode.hup, which takes > the values > IGNORE, SHUTDOWN, RESTART, or FORWARD. FORWARD is the default, > which sends the signal on to the JVM process. > > The RESTART mode can be used with the > wrapper.restart.reload_configuration > <http://wrapper.tanukisoftware.org/doc/english/prop-restart-reload-confi > guration.html> > property to cause the Wrapper to reload its wrapper.conf and restart the > > JVM when > it gets a HUP signal. As I understand it, that is a common use of this > signal. > > Are there any other signals which should be handled as well? > > Cheers, > Leif > > Yazbek, Daniel (Daniel) wrote: > >> Hi all, >> >> We are attempting to modify wrapper so that a SIGHUP can be handled by >> > > >> java code, I am after some help/suggestions. >> >> Here is what I've done so far: >> >> Modified WrapperManager.java with: >> >> *public* *static* *final* *int* WRAPPER_CTRL_SIGHUP_EVENT = 205; >> >> Recompiled the code, javah added this definition into >> org_tanukisoftware_wrapper_WrapperManager.h >> >> Modified wrapper_unix.c with: >> >> - added case in getSignalName(int signo) >> >> - written a handleHangup(int sig_num) function, with deceleration: >> >> *void* handleHangup(*int* sig_num) { >> >> /* Ignore any other signals while in this handler. */ >> >> signal(SIGHUP, SIG_IGN); >> >> handleCommon("HUP"); >> >> signal(SIGHUP, handleHangup); >> >> } >> >> - Modified wrapperInitialize() to support SIGHUP >> >> Modified wrapperjni_unix.c with: >> >> - added a handleHandup(int sig_num) function: >> >> *void* handleHangup(*int* sig_num) { >> >> signal(SIGHUP, handleHangup); >> >> > WrapperJNIHandleSignal(org_tanukisoftware_wrapper_WrapperManager_WRAPPER > _CTRL_SIGHUP_EVENT); > >> } >> >> - Set the above handler for a SIGHUP in the init function >> >> So, I guess I am missing something. I cannot get the SIGHUP in the >> java application from the controlEvent(int arg0) method of my class >> that implements WrapperListener. >> >> However, when I send a sighup, I get "HUP Trapped" in the log file, >> which is being generated by >> >> handleCommon(const char* sigName) >> >> I am not familiar with the architecture and a newbie to wrapper... >> >> Does anyone have any suggestions on where I should be heading towards >> from here? >> >> Thanks. >> >> -Dan. >> >> > > > ------------------------------------------------------------------------ > - > Using Tomcat but need to do more? Need to support web services, > security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user > > |
|
From: Yazbek, D. \(Daniel\) <dy...@av...> - 2006-09-15 06:43:16
|
Leif, I have downloaded and built wrapper v3.2.2-a from CVS. >From the testing I have done, the SIGHUP signal does get to the JVM, and can be caught by the controlEvent in a class that implements WrapperListener... Great! This works exactly as we anticipated. In the v3.2.2-a implementation, when a SIGHUP is received in wrapper, does wrapper reload its config file? When is the anticipated release date of v3.2.2? Thanks. -Daniel. -----Original Message----- From: wra...@li... [mailto:wra...@li...] On Behalf Of Yazbek, Daniel (Daniel) Sent: Friday, 15 September 2006 15:15 To: wra...@li... Subject: Re: [Wrapper-user] Support SIGHUP Handling Leif, Thank you for your suggestion, I added the kill(jvmPid, sig_num) statement in my sigActionHangup function and it worked! To put things into context, we would like to use SIG_HUP to reload the config file used in the java application that is wrapped up within wrapper. We do not want to terminate and start the java application, nor do we want to terminate and start the wrapper application (although, we don't mind if wrapper re-reads its config... this will never change for us). It is important that the JVM is not interrupted. I would be happy to investigate v3.2.2 to see if it meets our needs mentioned above. I will let you know how I go. Further, in wrapper_unix.c I noticed you have the following two functions: void sigActionTermination(int sigNum, siginfo_t *sigInfo, void *na) void handleTermination(int sig_num) These two methods seem to be near identical in functionality, and for my implementation of SIG_HUP, I have followed this convention. I have the following two functions: void sigActionHangup( int sigNum, siginfo_t *sigInfo, void *na) void handleHangup(int sig_num) With some debug logging, I have noticed that when I send a SIG_HUP to wrapper, it is caught in the sigActionHangup method (i.e. not the handleHangup method)... My question to you is, why are there two handle methods defined for each signal type? What is the difference? And when are each used? Thanks. -Daniel. -----Original Message----- From: wra...@li... [mailto:wra...@li...] On Behalf Of Leif Mortenson Sent: Thursday, 14 September 2006 14:41 To: wra...@li... Subject: Re: [Wrapper-user] Support SIGHUP Handling Daniel, The problem in your code is that you are trapping the HUP signal in the=20 Wrapper process. That is part of the problem, but that signal is not yet being=20 sent on to the Java process. If you send the Signal to the JVM process it would work. To fix these, you will need the following in your handleHangup function: kill(jvmPid, sig_num) That said though, I have gotten this implemented for the 3.2.2 release.=20 It is all checked in to CVS. If you could try it out it would be a big help. I have also added a new property, wrapper.signal.mode.hup, which takes=20 the values IGNORE, SHUTDOWN, RESTART, or FORWARD. FORWARD is the default, which sends the signal on to the JVM process. The RESTART mode can be used with the=20 wrapper.restart.reload_configuration=20 <http://wrapper.tanukisoftware.org/doc/english/prop-restart-reload-confi guration.html> property to cause the Wrapper to reload its wrapper.conf and restart the JVM when it gets a HUP signal. As I understand it, that is a common use of this=20 signal. Are there any other signals which should be handled as well? Cheers, Leif Yazbek, Daniel (Daniel) wrote: > > Hi all, > > We are attempting to modify wrapper so that a SIGHUP can be handled by > java code, I am after some help/suggestions. > > Here is what I've done so far: > > Modified WrapperManager.java with: > > *public* *static* *final* *int* WRAPPER_CTRL_SIGHUP_EVENT =3D 205; > > Recompiled the code, javah added this definition into=20 > org_tanukisoftware_wrapper_WrapperManager.h > > Modified wrapper_unix.c with: > > - added case in getSignalName(int signo) > > - written a handleHangup(int sig_num) function, with deceleration: > > *void* handleHangup(*int* sig_num) { > > /* Ignore any other signals while in this handler. */ > > signal(SIGHUP, SIG_IGN); > > handleCommon("HUP"); > > signal(SIGHUP, handleHangup); > > } > > - Modified wrapperInitialize() to support SIGHUP > > Modified wrapperjni_unix.c with: > > - added a handleHandup(int sig_num) function: > > *void* handleHangup(*int* sig_num) { > > signal(SIGHUP, handleHangup);=20 > WrapperJNIHandleSignal(org_tanukisoftware_wrapper_WrapperManager_WRAPPER _CTRL_SIGHUP_EVENT); > > } > > - Set the above handler for a SIGHUP in the init function > > So, I guess I am missing something. I cannot get the SIGHUP in the=20 > java application from the controlEvent(int arg0) method of my class=20 > that implements WrapperListener. > > However, when I send a sighup, I get "HUP Trapped" in the log file,=20 > which is being generated by > > handleCommon(const char* sigName) > > I am not familiar with the architecture and a newbie to wrapper... > > Does anyone have any suggestions on where I should be heading towards=20 > from here? > > Thanks. > > -Dan. > ------------------------------------------------------------------------ - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 _______________________________________________ Wrapper-user mailing list Wra...@li... https://lists.sourceforge.net/lists/listinfo/wrapper-user ------------------------------------------------------------------------ - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 _______________________________________________ Wrapper-user mailing list Wra...@li... https://lists.sourceforge.net/lists/listinfo/wrapper-user |
|
From: Yazbek, D. \(Daniel\) <dy...@av...> - 2006-09-15 05:15:15
|
Leif, Thank you for your suggestion, I added the kill(jvmPid, sig_num) statement in my sigActionHangup function and it worked! To put things into context, we would like to use SIG_HUP to reload the config file used in the java application that is wrapped up within wrapper. We do not want to terminate and start the java application, nor do we want to terminate and start the wrapper application (although, we don't mind if wrapper re-reads its config... this will never change for us). It is important that the JVM is not interrupted. I would be happy to investigate v3.2.2 to see if it meets our needs mentioned above. I will let you know how I go. Further, in wrapper_unix.c I noticed you have the following two functions: void sigActionTermination(int sigNum, siginfo_t *sigInfo, void *na) void handleTermination(int sig_num) These two methods seem to be near identical in functionality, and for my implementation of SIG_HUP, I have followed this convention. I have the following two functions: void sigActionHangup( int sigNum, siginfo_t *sigInfo, void *na) void handleHangup(int sig_num) With some debug logging, I have noticed that when I send a SIG_HUP to wrapper, it is caught in the sigActionHangup method (i.e. not the handleHangup method)... My question to you is, why are there two handle methods defined for each signal type? What is the difference? And when are each used? Thanks. -Daniel. -----Original Message----- From: wra...@li... [mailto:wra...@li...] On Behalf Of Leif Mortenson Sent: Thursday, 14 September 2006 14:41 To: wra...@li... Subject: Re: [Wrapper-user] Support SIGHUP Handling Daniel, The problem in your code is that you are trapping the HUP signal in the=20 Wrapper process. That is part of the problem, but that signal is not yet being=20 sent on to the Java process. If you send the Signal to the JVM process it would work. To fix these, you will need the following in your handleHangup function: kill(jvmPid, sig_num) That said though, I have gotten this implemented for the 3.2.2 release.=20 It is all checked in to CVS. If you could try it out it would be a big help. I have also added a new property, wrapper.signal.mode.hup, which takes=20 the values IGNORE, SHUTDOWN, RESTART, or FORWARD. FORWARD is the default, which sends the signal on to the JVM process. The RESTART mode can be used with the=20 wrapper.restart.reload_configuration=20 <http://wrapper.tanukisoftware.org/doc/english/prop-restart-reload-confi guration.html> property to cause the Wrapper to reload its wrapper.conf and restart the JVM when it gets a HUP signal. As I understand it, that is a common use of this=20 signal. Are there any other signals which should be handled as well? Cheers, Leif Yazbek, Daniel (Daniel) wrote: > > Hi all, > > We are attempting to modify wrapper so that a SIGHUP can be handled by > java code, I am after some help/suggestions. > > Here is what I've done so far: > > Modified WrapperManager.java with: > > *public* *static* *final* *int* WRAPPER_CTRL_SIGHUP_EVENT =3D 205; > > Recompiled the code, javah added this definition into=20 > org_tanukisoftware_wrapper_WrapperManager.h > > Modified wrapper_unix.c with: > > - added case in getSignalName(int signo) > > - written a handleHangup(int sig_num) function, with deceleration: > > *void* handleHangup(*int* sig_num) { > > /* Ignore any other signals while in this handler. */ > > signal(SIGHUP, SIG_IGN); > > handleCommon("HUP"); > > signal(SIGHUP, handleHangup); > > } > > - Modified wrapperInitialize() to support SIGHUP > > Modified wrapperjni_unix.c with: > > - added a handleHandup(int sig_num) function: > > *void* handleHangup(*int* sig_num) { > > signal(SIGHUP, handleHangup);=20 > WrapperJNIHandleSignal(org_tanukisoftware_wrapper_WrapperManager_WRAPPER _CTRL_SIGHUP_EVENT); > > } > > - Set the above handler for a SIGHUP in the init function > > So, I guess I am missing something. I cannot get the SIGHUP in the=20 > java application from the controlEvent(int arg0) method of my class=20 > that implements WrapperListener. > > However, when I send a sighup, I get "HUP Trapped" in the log file,=20 > which is being generated by > > handleCommon(const char* sigName) > > I am not familiar with the architecture and a newbie to wrapper... > > Does anyone have any suggestions on where I should be heading towards=20 > from here? > > Thanks. > > -Dan. > ------------------------------------------------------------------------ - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 _______________________________________________ Wrapper-user mailing list Wra...@li... https://lists.sourceforge.net/lists/listinfo/wrapper-user |
|
From: Leif M. <le...@ta...> - 2006-09-14 16:21:13
|
Simone,
I have not tried this with OpenOffice, but with MS Office I have run
into a
similar problem in the past. MS Office will open up a setup wizard the
first
time any individual user attempts to run Office. This will continue to
happen
until that wizard has been completed.
The problem is that the Wrapper, like all services, runs as the SYSTEM
user by default. This user is headless so that setup wizard will not
be visible.
When I had tried this, even setting the service to interactive did not
make this
setup wizard show itself.
The solution was to change the user account that the service was run as.
See the wrapper.ntservice.account documentation. Note that there are things
that must be done before a specific account can be used.
http://wrapper.tanukisoftware.org/doc/english/prop-ntservice-account.html
Also, in general when you use Runtime.exec, you should probably be
making use of the returned Process instance. This object can be used to
obtain the exit code of the process. In this case, it is probably returning
an exit code of some sort.
Please post back if you need more info or with how you got it working.
This is something I would like to have in the archives.
Cheers,
Leif
simone.pandolfi wrote:
> Hi,
> I have wrapped with method 1 a java application witch a
> thread which launch OpenOffice with Runtime.getRuntime
> ().exec("C:\Programs\OpenOffice.org1.1.3
> \\program\\soffice.exe -invisible -nologo -headless -
> quickstart macro:///Standard.Module1.CPDF(file.rtf)").
>
> It works rigth in console mode, but if installed as
> Windows service, it seems it doesn't execute the command
> (or the macro. I have no message or error, just the macro
> doesn't produce the file expected)
>
> Please, can someone tell me how can I get OpenOffice
> executing into the windows service ?
>
> Thank you in advance
> Simone
>
|
|
From: simone\.pandolfi <sim...@po...> - 2006-09-14 13:29:20
|
Hi,
I have wrapped with method 1 a java application witch a
thread which launch OpenOffice with Runtime.getRuntime
().exec("C:\Programs\OpenOffice.org1.1.3
\\program\\soffice.exe -invisible -nologo -headless -
quickstart macro:///Standard.Module1.CPDF(file.rtf)").
It works rigth in console mode, but if installed as
Windows service, it seems it doesn't execute the command
(or the macro. I have no message or error, just the macro
doesn't produce the file expected)
Please, can someone tell me how can I get OpenOffice
executing into the windows service ?
Thank you in advance
Simone
|
|
From: Leif M. <le...@ta...> - 2006-09-14 04:41:10
|
Daniel, The problem in your code is that you are trapping the HUP signal in the Wrapper process. That is part of the problem, but that signal is not yet being sent on to the Java process. If you send the Signal to the JVM process it would work. To fix these, you will need the following in your handleHangup function: kill(jvmPid, sig_num) That said though, I have gotten this implemented for the 3.2.2 release. It is all checked in to CVS. If you could try it out it would be a big help. I have also added a new property, wrapper.signal.mode.hup, which takes the values IGNORE, SHUTDOWN, RESTART, or FORWARD. FORWARD is the default, which sends the signal on to the JVM process. The RESTART mode can be used with the wrapper.restart.reload_configuration <http://wrapper.tanukisoftware.org/doc/english/prop-restart-reload-configuration.html> property to cause the Wrapper to reload its wrapper.conf and restart the JVM when it gets a HUP signal. As I understand it, that is a common use of this signal. Are there any other signals which should be handled as well? Cheers, Leif Yazbek, Daniel (Daniel) wrote: > > Hi all, > > We are attempting to modify wrapper so that a SIGHUP can be handled by > java code, I am after some help/suggestions. > > Here is what I’ve done so far: > > Modified WrapperManager.java with: > > *public* *static* *final* *int* WRAPPER_CTRL_SIGHUP_EVENT = 205; > > Recompiled the code, javah added this definition into > org_tanukisoftware_wrapper_WrapperManager.h > > Modified wrapper_unix.c with: > > - added case in getSignalName(int signo) > > - written a handleHangup(int sig_num) function, with deceleration: > > *void* handleHangup(*int* sig_num) { > > /* Ignore any other signals while in this handler. */ > > signal(SIGHUP, SIG_IGN); > > handleCommon("HUP"); > > signal(SIGHUP, handleHangup); > > } > > - Modified wrapperInitialize() to support SIGHUP > > Modified wrapperjni_unix.c with: > > - added a handleHandup(int sig_num) function: > > *void* handleHangup(*int* sig_num) { > > signal(SIGHUP, handleHangup); > WrapperJNIHandleSignal(org_tanukisoftware_wrapper_WrapperManager_WRAPPER_CTRL_SIGHUP_EVENT); > > } > > - Set the above handler for a SIGHUP in the init function > > So, I guess I am missing something. I cannot get the SIGHUP in the > java application from the controlEvent(int arg0) method of my class > that implements WrapperListener. > > However, when I send a sighup, I get “HUP Trapped” in the log file, > which is being generated by > > handleCommon(const char* sigName) > > I am not familiar with the architecture and a newbie to wrapper… > > Does anyone have any suggestions on where I should be heading towards > from here? > > Thanks. > > -Dan. > |
|
From: Leif M. <le...@ta...> - 2006-09-13 13:47:39
|
Neeraja, I did some research on this tonight. Everything in the wrapper looks correct. But the wrapper is barfing when it attempts to call System.exit. This should be a valid operation so this seems like a JVM bug? Does this look like it applies to what you are seeing? http://bugs.sun.com/bugdatabase/view_bug.do;:YfiG?bug_id=6222850 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6251180 From your trace, the Wrapper is calling shutdownJVM from within the main command loop. That is triggered by the ServiceManager attempting to stop the service. For this reason, this method should be getting called before the JVM's shutdown hooks have been started. The call to System.exit within this method should be starting the shutdown hooks it self, but that operation is failing. This happens after the WrapperListener.stop method has been called. However, because you are using the WrapperSimpleApp helper class, that listener does nothing. I'll give this some more thought, but I don't see how the Wrapper could be causing this on its own... What happens if you use the 3.2.1 release? (Shouldn't make any difference) How about different JVM versions? Cheers, Leif Neeraja Kollu wrote: > > Hi, > > > We are using wrapper for 24X7 critical application. > Occationally, we are getting the following exception when trying to > stop the service from Windows Service Manager. > > INFO | jvm 1 | 2006/09/06 07:50:41 | Server daemon died! > INFO | jvm 1 | 2006/09/06 07:50:41 | > java.lang.IllegalThreadStateException > INFO | jvm 1 | 2006/09/06 07:50:41 | at > java.lang.Thread.start(Native Method) > INFO | jvm 1 | 2006/09/06 07:50:41 | at > java.lang.Shutdown.runHooks(Shutdown.java:158) > INFO | jvm 1 | 2006/09/06 07:50:41 | at > java.lang.Shutdown.sequence(Shutdown.java:197) > INFO | jvm 1 | 2006/09/06 07:50:41 | at > java.lang.Shutdown.exit(Shutdown.java:242) > INFO | jvm 1 | 2006/09/06 07:50:41 | at > java.lang.Runtime.exit(Runtime.java:123) > INFO | jvm 1 | 2006/09/06 07:50:41 | at > java.lang.System.exit(System.java:789) > INFO | jvm 1 | 2006/09/06 07:50:41 | at > org.tanukisoftware.wrapper.WrapperManager.shutdownJVM(WrapperManager.java:3003) > > INFO | jvm 1 | 2006/09/06 07:50:41 | at > org.tanukisoftware.wrapper.WrapperManager.privilegedStopInner(WrapperManager.java:3144) > > INFO | jvm 1 | 2006/09/06 07:50:41 | at > org.tanukisoftware.wrapper.WrapperManager.handleSocket(WrapperManager.java:3768) > > INFO | jvm 1 | 2006/09/06 07:50:41 | at > org.tanukisoftware.wrapper.WrapperManager.run(WrapperManager.java:4158) > INFO | jvm 1 | 2006/09/06 07:50:41 | at > java.lang.Thread.run(Thread.java:567) > INFO | jvm 1 | 2006/09/06 07:50:41 | Server daemon shut down > > > We create multiple threads from our application. > > Please find the attached log file. > > Thanks in advance. > > > Neeraja |
|
From: Leif M. <le...@ta...> - 2006-09-13 13:14:48
|
Alexander,
All JVM console output from is sent to the wrapper process and then
logged at the INFO
level. You are currently disabling all output to the wrapper log file
with the following
setting:
wrapper.console.loglevel=NONE
Setting this to the following, should clear things up:
wrapper.console.loglevel=INFO
The log levels from log4j are different than the wrapper's log levels.
A log4j DEBUG
message logged to the console is simply printed to System.out with the
appropriate
timestamp and "DEBUG" info prefixed on each line. As said above, all
System.out
info is then piped to the wrapper process where it is logged at the
Wrapper INFO
log level.
If you print the following in log4j:
logger.debug( "My Message" );
you will get the following in the Java console:
09-11-2006 15:36:49 DEBUG My Message
You will then get the following in the wrapper log file:
INFO | jvm 1 | 2006/09/11 15:36:49 | 09-11-2006 15:36:49 DEBUG My
Message
Let me know if that doesn't make sense.
Cheers,
Leif
Ale...@st... wrote:
>
> Hi,
>
> I'm using log4j to output log messages. Now the application is running
> inside the wrapper on linux and I would like to use the trigger
> mechanism. But the trigger is only locking for the stuff that is
> logged by the wrapper itself.
>
> I thought that if would let log4j do its output to STDOUT it would
> arrive in the wrapper logfile, but nothing appears in the wrapper logfile.
>
> Please, can someone tell me how to get the log4j-output to the wrapper
> log so I can use the trigger?
>
> Here is my configuration.
>
> wrapper.conf:
> ...
> # Trigger
> wrapper.filter.trigger.1=java.lang.OutOfMemoryError
> wrapper.filter.action.1=RESTART
>
> #********************************************************************
> # Wrapper Logging Properties
> #********************************************************************
> # Format of output for the console. (See docs for formats)
> wrapper.console.format=PM
>
> # Log Level for console output. (See docs for log levels)
> wrapper.console.loglevel=NONE
>
> # Log file to use for wrapper output logging.
> wrapper.logfile=/home/carlosad/bps/logs/wrapper.log
>
> # Format of output for the log file. (See docs for formats)
> wrapper.logfile.format=LPTM
>
> # Log Level for log file output. (See docs for log levels)
> wrapper.logfile.loglevel=INFO
>
> # Maximum size that the log file will be allowed to grow to before
> # the log is rolled. Size is specified in bytes. The default value
> # of 0, disables log rolling. May abbreviate with the 'k' (kb) or
> # 'm' (mb) suffix. For example: 10m = 10 megabytes.
> wrapper.logfile.maxsize=5m
>
> # Maximum number of rolled log files which will be allowed before old
> # files are deleted. The default value of 0 implies no limit.
> wrapper.logfile.maxfiles=1
>
> # Log Level for sys/event log output. (See docs for log levels)
> wrapper.syslog.loglevel=NONE
> ...
>
> log4j.conf:
> ...
> <!--
> STDOUT
> -->
> <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
> <param name="Target" value="System.out" />
> <layout class="org.apache.log4j.PatternLayout">
> <param name="ConversionPattern" value="%d %-5p (%F:%L) # %m\n" />
> </layout>
> </appender>
>
> <!--
> STDERR
> -->
> <appender name="STDERR" class="org.apache.log4j.ConsoleAppender">
> <param name="Target" value="System.err" />
> <layout class="org.apache.log4j.PatternLayout">
> <param name="ConversionPattern" value="%d %-5p [%t] %c %C{3} (%F:%L) #
> %m\n" />
> </layout>
> </appender>
> ...
> <root>
> <priority value="warn" />
> <appender-ref ref="FILE_ERROR" />
> <appender-ref ref="STDOUT" />
> <appender-ref ref="STDERR" />
> </root>
>
> </log4j:configuration>
>
> Thanks in advance
> Alex
>
|
|
From: Leif M. <le...@ta...> - 2006-09-13 13:08:16
|
Ian, It looks like you just replied to the digest post. Please don't do that as it makes it difficult to track threads. Always start a new message rather than replying to an existing one. Even if you change the subject, most email clients set headers to show that the message is a continuation of an existing thread. Anyway it looks like this is all you posted.... Um.... I am going to need a little bit more to go on... Cheers, Leif Ian Pilborough wrote: > > help > |