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: David R. <dre...@mo...> - 2003-06-12 09:40:53
|
Hi all, I've made a few changes to WrapperStartStopApp, making it so that startup will not finish until all webapps specified have started. This is helpful because often Tomcat has no problem starting and staying up, while the servlet (that is the reason for starting Tomcat) doesn't start successfully. WrapperWebappStart uses the Tomcat manager webapp to "list" all running contexts on Tomcat, so the manager webapp has to be set up in order for WrapperWebappStart to work. Setup is easy; all parameters are identical to WrapperStartStopApp with the following additions: ------------------start conf------------------ ############ These are all the same as before (included for clarity) ############=20 # The first application parameter is the name of the class whose main # method is to be called when the application is launched. The class # name is followed by the number of parameters to be passed to its main # method. Then comes the actual parameters. wrapper.app.parameter.1=3Dorg.apache.catalina.startup.Bootstrap wrapper.app.parameter.2=3D1 wrapper.app.parameter.3=3Dstart # The start parameters are followed by the name of the class whose main # method is to be called to stop the application. The stop class name # is followed by a flag which controls whether or not the Wrapper should # wait for all non daemon threads to complete before exiting the JVM. # The flag is followed by the number of parameters to be passed to the # stop class's main method. Finally comes the actual parameters. wrapper.app.parameter.4=3Dorg.apache.catalina.startup.Bootstrap wrapper.app.parameter.5=3Dfalse wrapper.app.parameter.6=3D1 wrapper.app.parameter.7=3Dstop ############ Start of new parameters ############=20 # These parameters are used to make sure webapps listed start # when Tomcat is started. # URL of Tomcat manager webapp wrapper.app.parameter.8=3Dhttp://localhost:8080/manager # Username for authentication in Tomcat manager webapp wrapper.app.parameter.9=3Dusername # Password for authentication in Tomcat manager webapp wrapper.app.parameter.10=3Dpassword # The number of webapps to wait for wrapper.app.parameter.11=3D1 # Names of actual webapps to wait for wrapper.app.parameter.12=3D/main ############ End of new parameters ############=20 ------------------end conf------------------ In addition to wrapper.jar, you will also need to add xerces.jar to the classpath. Tomcat 4.1.X has a copy of it at %CATALINA_HOME%/shared/lib/xerces.jar. I also needed to increase the time needed for the service to start, using wrapper.startup.timeout=3D90. I hope that someone else finds this useful! David Resnick MobileSpear Inc. |
|
From: Leif M. <le...@ta...> - 2003-06-07 05:25:27
|
At this moment, there is no way to do this from outside the JVM. I do
provide
an API to do this from within the JVM however. Simply call
WrapperManager.requestThreadDump();
This also got me thinking. Others have asked for something like this in the
past so I went ahead and added a new class to the Wrapper which, if
instantiated, will allow you to control the Wrapper via the JVM using
telnet.
This will be in the next release, but if you want to use it before then,
add the
attached class to your project. Be sure to remove it later when you upgrade
to the latest version of the Wrapper.
Simply add code like the following to get things working. Only activate the
actions that you want to use as some of them obviously pose fairly severe
security risks. You can also bind the server to only listen to
connections to
localhost by using the alternate Constructor. See the javadoc comments
for usage.
int port = 9999;
WrapperActionServer server = new WrapperActionServer( port );
server.enableShutdownAction( true );
server.enableRestartAction( true );
server.enableThreadDumpAction( true );
server.enableHaltUnexpectedAction( true );
server.enableAccessViolationAction( true );
server.start();
Cheers,
Leif
One way for you do do this is to implement the folowing code someplace
in your application.
na...@le... wrote:
>Is there a way to cause a thread dump when running as an NT Service? I
>could implement it in my java application, but I would rather not rely on
>java just in case my app is totally hosed.
>
>Thanks,
>Nathan Klemperer
>
>
>
>
>-------------------------------------------------------
>This SF.net email is sponsored by: Etnus, makers of TotalView, The best
>thread debugger on the planet. Designed with thread debugging features
>you've never dreamed of, try TotalView 6 free at www.etnus.com.
>_______________________________________________
>Wrapper-user mailing list
>Wra...@li...
>https://lists.sourceforge.net/lists/listinfo/wrapper-user
>
>
>
|
|
From: <na...@le...> - 2003-06-07 01:00:35
|
Is there a way to cause a thread dump when running as an NT Service? I could implement it in my java application, but I would rather not rely on java just in case my app is totally hosed. Thanks, Nathan Klemperer |
|
From: Leif M. <le...@ta...> - 2003-06-06 00:44:54
|
You should be able to launch the Wrapper from Ant using the exec task. When launching the Wrapper, specify all of the properties that you wish to override on the Wrapper's command line. The biggest problem is going to be the classpath as the Wrapper expects it to be broken up into its individual elements. But if most cases, your jar files will all be in a specific directory, so you can work around this using wild cards. Try a command line like the following: Wrapper -i src/conf/wrapper.conf wrapper.java.classpath.1=src/lib/*.jar etc... Another option is to just include the entire classpath in a single classpath property. This should work. The wrapper breaks them up so that it can cleanly build the classpaths at runtime based on the current platform. Other properties can be set in the same way. Hope this helps. Cheers, Leif Guarav Mangalick wrote: > Hi, > > I am using ANT build scripts to install my applications as NT service > using this WRAPPER. I can do this currently by running the statement > "wrapper -i wrapper.conf". > > Question is how can i modify this so the WRAPPER can use the classpath > and other properties set in ANT scripts. (I don't want to set the > classpath and other general properties in wrapper.conf AGAIN. > > Is there a way NOT to use the wrapper.conf at all and use ANT script > parameters instead???. > > Thanks in advance. > > gmangali |
|
From: Sal I. <sal...@sy...> - 2003-06-05 21:58:54
|
MessageFirst option is to use the replace target on wrapper.conf. you know which variables to substitue and you know their values (after all you are in build.xml). But your major problem is to tokenize your single-line classpath into multi-wrapper.java.classpath.n Second option is to do it the other way around: define a build.xml that sets up classpaths and so forth, & runs your app from the "run" target, for example. than have wrapper call "ant run" by setting up wrapper.conf appropriately. so that the wrapper configuration is minimal & you leave all your setting up in your ant script. make sure that ANT_HOME is setup as a system variable and that %ANT_HOME%/bin is in your system classpath. benefits of this approach are that 1. you mainain uniform scripts to launch your app (they're all build.xml's) 2. wrapper.conf are identical cross-applications 3. you spend less time on configurations i'm thinking of convering my application suite this way. Too bad that keeping things clean comes at the cost of so many layers (wrapper+ant) & jars loaded (wrapper.jar is small, but ant can be large) If you're looking for an installer, consider this: http://nsis.sourceforge.net/ -----Original Message----- From: wra...@li... [mailto:wra...@li...]On Behalf Of Guarav Mangalick Sent: Thursday, June 05, 2003 2:39 PM To: wra...@li... Subject: [Wrapper-user] Using ANT scripts to invoke wrapper Hi, I am using ANT build scripts to install my applications as NT service using this WRAPPER. I can do this currently by running the statement "wrapper -i wrapper.conf". Question is how can i modify this so the WRAPPER can use the classpath and other properties set in ANT scripts. (I don't want to set the classpath and other general properties in wrapper.conf AGAIN. Is there a way NOT to use the wrapper.conf at all and use ANT script parameters instead???. Thanks in advance. gmangali |
|
From: Richard E. <rem...@ed...> - 2003-06-05 21:54:48
|
4 to 6 months ago I posted to this mailing list an example of a generic wrapper.conf that called ant's Main class passing it a ant xml file (the wrapper.conf need never have any of the runtime jars, etc.; they all appear in the ant xml file which call the java task to launch the application). What you could do is from within your ant xml file launch the wrapper against the wrapper.conf file but have the wrapper.conf simply launch ant with your ant file as its xml file and just give it a different target in the ant file. That way all of the jars/classpaths are only specified in your single ant xml file. RME Guarav Mangalick wrote: > Hi, > > I am using ANT build scripts to install my applications as NT service > using this WRAPPER. I can do this currently by running the statement > "wrapper -i wrapper.conf". > > Question is how can i modify this so the WRAPPER can use the classpath > and other properties set in ANT scripts. (I don't want to set the > classpath and other general properties in wrapper.conf AGAIN. > > Is there a way NOT to use the wrapper.conf at all and use ANT script > parameters instead???. > > Thanks in advance. > > gmangali |
|
From: Guarav M. <gma...@In...> - 2003-06-05 21:39:20
|
Hi, =20 I am using ANT build scripts to install my applications as NT service using this WRAPPER. I can do this currently by running the statement "wrapper -i wrapper.conf". =20 Question is how can i modify this so the WRAPPER can use the classpath and other properties set in ANT scripts. (I don't want to set the classpath and other general properties in wrapper.conf AGAIN. =20 Is there a way NOT to use the wrapper.conf at all and use ANT script parameters instead???. =20 Thanks in advance. =20 gmangali |
|
From: <nic...@bn...> - 2003-06-04 16:32:54
|
>> Yes the jar is the same for all platforms
Excellent - thanks.
>> For builds, you might want to take a look at the Avalon Phoenix build
>> script. I set it up to download the required Wrapper files as part of
>> the build. I am not sure exactly what you are planning
I am using Maven - I am just organising to get the wrapper.jar uploaded to the repository - I had to find out exactly what we needed to upload to
ibiblio.
-Nick
This message and any attachments (the "message") is
intended solely for the addressees and is confidential.
If you receive this message in error, please delete it and
immediately notify the sender. Any use not in accord with
its purpose, any dissemination or disclosure, either whole
or partial, is prohibited except formal approval. The internet
can not guarantee the integrity of this message.
BNP PARIBAS (and its subsidiaries) shall (will) not
therefore be liable for the message if modified.
---------------------------------------------
Ce message et toutes les pieces jointes (ci-apres le
"message") sont etablis a l'intention exclusive de ses
destinataires et sont confidentiels. Si vous recevez ce
message par erreur, merci de le detruire et d'en avertir
immediatement l'expediteur. Toute utilisation de ce
message non conforme a sa destination, toute diffusion
ou toute publication, totale ou partielle, est interdite, sauf
autorisation expresse. L'internet ne permettant pas
d'assurer l'integrite de ce message, BNP PARIBAS (et ses
filiales) decline(nt) toute responsabilite au titre de ce
message, dans l'hypothese ou il aurait ete modifie.
|
|
From: Leif M. <le...@ta...> - 2003-06-04 14:21:33
|
Yes the jar is the same for all platforms. It does have an optional requirement for the native library. But the WrapperManager class will run without that loaded. For builds, you might want to take a look at the Avalon Phoenix build script. I set it up to download the required Wrapper files as part of the build. I am not sure exactly what you are planning. Cheers, Leif nic...@bn... wrote: >Hi, > >Just a quick question: > >I want to upload the wrapper.jar to the Maven repository on Ibiblio - I >just wanted to verify that the jar is the same for all OS platforms (it >seems so from the ant script...) > >Thanks, >Nick > > |
|
From: <nic...@bn...> - 2003-06-04 13:50:12
|
Hi,
Just a quick question:
I want to upload the wrapper.jar to the Maven repository on Ibiblio - I
just wanted to verify that the jar is the same for all OS platforms (it
seems so from the ant script...)
Thanks,
Nick
This message and any attachments (the "message") is
intended solely for the addressees and is confidential.
If you receive this message in error, please delete it and
immediately notify the sender. Any use not in accord with
its purpose, any dissemination or disclosure, either whole
or partial, is prohibited except formal approval. The internet
can not guarantee the integrity of this message.
BNP PARIBAS (and its subsidiaries) shall (will) not
therefore be liable for the message if modified.
---------------------------------------------
Ce message et toutes les pieces jointes (ci-apres le
"message") sont etablis a l'intention exclusive de ses
destinataires et sont confidentiels. Si vous recevez ce
message par erreur, merci de le detruire et d'en avertir
immediatement l'expediteur. Toute utilisation de ce
message non conforme a sa destination, toute diffusion
ou toute publication, totale ou partielle, est interdite, sauf
autorisation expresse. L'internet ne permettant pas
d'assurer l'integrite de ce message, BNP PARIBAS (et ses
filiales) decline(nt) toute responsabilite au titre de ce
message, dans l'hypothese ou il aurait ete modifie.
|
|
From: Leif M. <le...@ta...> - 2003-06-04 00:31:50
|
Don,
I am moving this over to the wrapper-user list. The CVS list is for
tracking changes to the source, and is rather boring for most people :-)
Don Sauer wrote:
> How can I set the TEMP or TMP directory within the wrapper.conf for my
> service running with wrapper? Currently, it sends a
> jar_cachexxxx.tmp to %TMP% within windows and causes a conflict with
> another program, I can get the conflict to go away if I manually set
> the TMP directory to something else but I don't want to change it
> manually if I can change it within the conf file
The Wrapper does not directly do anything with the temp directory and
thus, does not have such a setting.
What JVM and application are you using? I have never noticed a JVM
doing something like this. Most likely this is a function of the Java
application that you are running.
If it is indeed using the TMP variable to access the location of the
directory,
then this value should be able to be set by setting a property when the JVM
is launched. This is done by adding a property like the following to the
wrapper.conf file:
wrapper.java.additional.1=-DTMP=%TMP%
or
wrapper.java.additional.1=-DTMP=../myapptmp/
Most likely though, the application has a different property name that
it is using to accept the location of the path.
You can also override the value of the actual environment variable within
the scope of the Wrapper and its child processes (thus, the JVM) by
setting its value within the wrapper.conf as follows:
set.TMP=../myapptmp/
If neither of these helped, send me the information about your application
and JVM vendor/version along with your wrapper.conf file and I'll try to
come
up with a more precise answer for you.
If you found the product and support useful, please think about supporting
the project: http://wrapper.tanukisoftware.org/doc/english/donate.html
Cheers,
Leif
|
|
From: Tom K. <man...@ya...> - 2003-06-02 23:03:54
|
Hello. I'm having a problem getting the wrapper to work with my application. The application works properly without the wrapper. I'm running the java app on a Windows 2000 machine. If someone could take the time to glance at my config file and log file that would be nice. Much appreciation. Config file: #******************************************************************** # Wrapper Properties #******************************************************************** # Java Application wrapper.java.command=C:\j2sdk1.4.0_03\bin\java # Java Main class wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp # Java Classpath (include wrapper.jar) Add class path elements as # needed starting from 1 wrapper.java.classpath.1=../lib/wrapper.jar wrapper.java.classpath.2=../lib/GSDIDX.jar wrapper.java.classpath.3=../lib/jt400.jar wrapper.java.classpath.4=../classes # Java Library Path (location of Wrapper.DLL or libwrapper.so) wrapper.java.library.path.1=../lib # Java Additional Parameters #wrapper.java.additional.1= # Initial Java Heap Size (in MB) wrapper.java.initmemory=512 # Maximum Java Heap Size (in MB) wrapper.java.maxmemory=1028 # Application parameters. Add parameters as needed starting from 1 wrapper.app.parameter.1=com.quickrecovery.interfaces.idx.IDXInterface # Port which the native wrapper code will attempt to connect to wrapper.port=1777 #******************************************************************** # 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=DEBUG # Log file to use for wrapper output logging. wrapper.logfile=../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=DEBUG # 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=0 # 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=0 # Log Level for sys/event log output. (See docs for log levels) wrapper.syslog.loglevel=NONE #******************************************************************** # Wrapper NT Service Properties #******************************************************************** # WARNING - Do not modify any of these properties when an application # using this configuration file has been installed as a service. # Please uninstall the service before modifying this section. The # service can then be reinstalled. # Name of the service wrapper.ntservice.name=GSD-IDX # Display name of the service wrapper.ntservice.displayname=GSD-IDX Interface # Description of the service wrapper.ntservice.description=Patient information transfer program # Service dependencies. Add dependencies as needed starting from 1 #wrapper.ntservice.dependency.1= # Mode in which the service is installed. AUTO_START or DEMAND_START wrapper.ntservice.starttype=AUTO_START # Allow the service to interact with the desktop. wrapper.ntservice.interactive=false Log file: STATUS | wrapper | 2003/06/02 17:57:48 | --> Wrapper Started as Console DEBUG | wrapperp | 2003/06/02 17:57:48 | server listening on port 1777. STATUS | wrapper | 2003/06/02 17:57:49 | Launching a JVM... DEBUG | wrapper | 2003/06/02 17:57:49 | command: "C:\j2sdk1.4.0_03\bin\java" -Xms512m -Xmx1028m -Djava.library.path="../lib" -classpath "../lib/wrapper.jar;../lib/GSDIDX.jar;../lib/jt400.jar;../classes" -Dwrapper.key="l8UNrzpcbCpDXicL" -Dwrapper.port=1777 -Dwrapper.debug="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp com.quickrecovery.interfaces.idx.IDXInterface DEBUG | wrapper | 2003/06/02 17:57:49 | Java Virtual Machine started (PID=536) INFO | jvm 1 | 2003/06/02 17:57:49 | Wrapper Manager: JVM #1 INFO | jvm 1 | 2003/06/02 17:57:49 | Wrapper Manager: Registering shutdown hook INFO | jvm 1 | 2003/06/02 17:57:49 | Wrapper Manager: Using wrapper INFO | jvm 1 | 2003/06/02 17:57:49 | Calling native initialization method. INFO | jvm 1 | 2003/06/02 17:57:49 | Initializing WrapperManager native library. INFO | jvm 1 | 2003/06/02 17:57:49 | Java Executable: C:\j2sdk1.4.0_03\bin\java.exe INFO | jvm 1 | 2003/06/02 17:57:49 | Java Version : 1.4.0_03-b04 Java HotSpot(TM) Client VM INFO | jvm 1 | 2003/06/02 17:57:49 | Java VM Vendor : Sun Microsystems Inc. INFO | jvm 1 | 2003/06/02 17:57:49 | INFO | jvm 1 | 2003/06/02 17:57:49 | Wrapper (Version 3.0.3) INFO | jvm 1 | 2003/06/02 17:57:49 | INFO | jvm 1 | 2003/06/02 17:57:49 | Open socket to wrapper... INFO | jvm 1 | 2003/06/02 17:57:49 | Opened Socket INFO | jvm 1 | 2003/06/02 17:57:49 | Send a packet 110 : l8UNrzpcbCpDXicL INFO | jvm 1 | 2003/06/02 17:57:49 | handleSocket(Socket[addr=/127.0.0.1,port=1777,localport=2439]) DEBUG | wrapperp | 2003/06/02 17:57:49 | accepted a socket from 127.0.0.1 on port 2439 DEBUG | wrapperp | 2003/06/02 17:57:49 | read a packet 110 : l8UNrzpcbCpDXicL DEBUG | wrapper | 2003/06/02 17:57:49 | Got key from JVM: l8UNrzpcbCpDXicL DEBUG | wrapperp | 2003/06/02 17:57:49 | send a packet 112 : 1 DEBUG | wrapperp | 2003/06/02 17:57:49 | send a packet 113 : 30 DEBUG | wrapper | 2003/06/02 17:57:49 | Start Application. DEBUG | wrapperp | 2003/06/02 17:57:49 | send a packet 100 : start INFO | jvm 1 | 2003/06/02 17:57:49 | Received a packet 112 : 1 INFO | jvm 1 | 2003/06/02 17:57:49 | Wrapper Manager: LowLogLevel from Wrapper is 1 INFO | jvm 1 | 2003/06/02 17:57:49 | Received a packet 113 : 30 INFO | jvm 1 | 2003/06/02 17:57:49 | Wrapper Manager: PingTimeout from Wrapper is 30000 INFO | jvm 1 | 2003/06/02 17:57:49 | Received a packet 100 : start INFO | jvm 1 | 2003/06/02 17:57:49 | calling listener.start() INFO | jvm 1 | 2003/06/02 17:57:49 | WrapperSimpleApp: start(args) INFO | jvm 1 | 2003/06/02 17:57:49 | WrapperSimpleApp: invoking main method INFO | jvm 1 | 2003/06/02 17:57:50 | WrapperSimpleApp: main method completed INFO | jvm 1 | 2003/06/02 17:57:50 | WrapperSimpleApp: start(args) end. Main Completed=true, exitCode=null INFO | jvm 1 | 2003/06/02 17:57:50 | returned from listener.start() INFO | jvm 1 | 2003/06/02 17:57:50 | Send a packet 106 : DEBUG | wrapperp | 2003/06/02 17:57:50 | read a packet 106 : DEBUG | wrapper | 2003/06/02 17:57:50 | JVM signalled that it was started. DEBUG | wrapperp | 2003/06/02 17:57:54 | send a packet 103 : ping INFO | jvm 1 | 2003/06/02 17:57:54 | Received a packet 103 : ping INFO | jvm 1 | 2003/06/02 17:57:54 | Send a packet 103 : ok INFO | jvm 1 | 2003/06/02 17:57:54 | All non-daemon threads have stopped. Exiting. INFO | jvm 1 | 2003/06/02 17:57:54 | Send a packet 101 : 0 DEBUG | wrapperp | 2003/06/02 17:57:54 | read a packet 103 : ok DEBUG | wrapper | 2003/06/02 17:57:54 | Got ping response from JVM DEBUG | wrapperp | 2003/06/02 17:57:54 | read a packet 101 : 0 DEBUG | wrapper | 2003/06/02 17:57:54 | JVM requested a shutdown. (0) DEBUG | wrapper | 2003/06/02 17:57:54 | wrapperStopProcess(0) called. DEBUG | wrapper | 2003/06/02 17:57:54 | Sending stop signal to JVM DEBUG | wrapperp | 2003/06/02 17:57:54 | send a packet 101 : NULL INFO | jvm 1 | 2003/06/02 17:57:55 | Thread, Wrapper-Connection, handling the shutdown process. INFO | jvm 1 | 2003/06/02 17:57:55 | calling listener.stop() INFO | jvm 1 | 2003/06/02 17:57:55 | WrapperSimpleApp: stop(0) INFO | jvm 1 | 2003/06/02 17:57:55 | returned from listener.stop() INFO | jvm 1 | 2003/06/02 17:57:55 | Send a packet 107 : 0 INFO | jvm 1 | 2003/06/02 17:57:55 | Closing socket. DEBUG | wrapperp | 2003/06/02 17:57:55 | read a packet 107 : 0 DEBUG | wrapper | 2003/06/02 17:57:55 | JVM signalled that it was stopped. DEBUG | wrapperp | 2003/06/02 17:57:55 | socket read no code (closed?). INFO | jvm 1 | 2003/06/02 17:57:55 | calling System.exit(0) DEBUG | wrapper | 2003/06/02 17:57:55 | JVM exited normally. STATUS | wrapper | 2003/06/02 17:57:56 | <-- Wrapper Stopped --------------------------------- Do you Yahoo!? Free online calendar with sync to Outlook(TM). |
|
From: Tom K. <man...@ya...> - 2003-06-02 23:01:33
|
confirm 176656 --------------------------------- Do you Yahoo!? Free online calendar with sync to Outlook(TM). |
|
From: Tom K. <man...@ya...> - 2003-06-02 22:53:05
|
Hello. I'm having a problem getting the wrapper to work with my application. The application works properly without the wrapper. I'm running the java app on a Windows 2000 machine. If someone could take the time to glance at my config file and log file that would be nice. Much appreciation. Config file: #******************************************************************** # Wrapper Properties #******************************************************************** # Java Application wrapper.java.command=C:\j2sdk1.4.0_03\bin\java # Java Main class wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp # Java Classpath (include wrapper.jar) Add class path elements as # needed starting from 1 wrapper.java.classpath.1=../lib/wrapper.jar wrapper.java.classpath.2=../lib/GSDIDX.jar wrapper.java.classpath.3=../lib/jt400.jar wrapper.java.classpath.4=../classes # Java Library Path (location of Wrapper.DLL or libwrapper.so) wrapper.java.library.path.1=../lib # Java Additional Parameters #wrapper.java.additional.1= # Initial Java Heap Size (in MB) wrapper.java.initmemory=512 # Maximum Java Heap Size (in MB) wrapper.java.maxmemory=1028 # Application parameters. Add parameters as needed starting from 1 wrapper.app.parameter.1=com.quickrecovery.interfaces.idx.IDXInterface # Port which the native wrapper code will attempt to connect to wrapper.port=1777 #******************************************************************** # 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=DEBUG # Log file to use for wrapper output logging. wrapper.logfile=../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=DEBUG # 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=0 # 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=0 # Log Level for sys/event log output. (See docs for log levels) wrapper.syslog.loglevel=NONE #******************************************************************** # Wrapper NT Service Properties #******************************************************************** # WARNING - Do not modify any of these properties when an application # using this configuration file has been installed as a service. # Please uninstall the service before modifying this section. The # service can then be reinstalled. # Name of the service wrapper.ntservice.name=GSD-IDX # Display name of the service wrapper.ntservice.displayname=GSD-IDX Interface # Description of the service wrapper.ntservice.description=Patient information transfer program # Service dependencies. Add dependencies as needed starting from 1 #wrapper.ntservice.dependency.1= # Mode in which the service is installed. AUTO_START or DEMAND_START wrapper.ntservice.starttype=AUTO_START # Allow the service to interact with the desktop. wrapper.ntservice.interactive=false Log file: STATUS | wrapper | 2003/06/02 17:57:48 | --> Wrapper Started as Console DEBUG | wrapperp | 2003/06/02 17:57:48 | server listening on port 1777. STATUS | wrapper | 2003/06/02 17:57:49 | Launching a JVM... DEBUG | wrapper | 2003/06/02 17:57:49 | command: "C:\j2sdk1.4.0_03\bin\java" -Xms512m -Xmx1028m -Djava.library.path="../lib" -classpath "../lib/wrapper.jar;../lib/GSDIDX.jar;../lib/jt400.jar;../classes" -Dwrapper.key="l8UNrzpcbCpDXicL" -Dwrapper.port=1777 -Dwrapper.debug="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp com.quickrecovery.interfaces.idx.IDXInterface DEBUG | wrapper | 2003/06/02 17:57:49 | Java Virtual Machine started (PID=536) INFO | jvm 1 | 2003/06/02 17:57:49 | Wrapper Manager: JVM #1 INFO | jvm 1 | 2003/06/02 17:57:49 | Wrapper Manager: Registering shutdown hook INFO | jvm 1 | 2003/06/02 17:57:49 | Wrapper Manager: Using wrapper INFO | jvm 1 | 2003/06/02 17:57:49 | Calling native initialization method. INFO | jvm 1 | 2003/06/02 17:57:49 | Initializing WrapperManager native library. INFO | jvm 1 | 2003/06/02 17:57:49 | Java Executable: C:\j2sdk1.4.0_03\bin\java.exe INFO | jvm 1 | 2003/06/02 17:57:49 | Java Version : 1.4.0_03-b04 Java HotSpot(TM) Client VM INFO | jvm 1 | 2003/06/02 17:57:49 | Java VM Vendor : Sun Microsystems Inc. INFO | jvm 1 | 2003/06/02 17:57:49 | INFO | jvm 1 | 2003/06/02 17:57:49 | Wrapper (Version 3.0.3) INFO | jvm 1 | 2003/06/02 17:57:49 | INFO | jvm 1 | 2003/06/02 17:57:49 | Open socket to wrapper... INFO | jvm 1 | 2003/06/02 17:57:49 | Opened Socket INFO | jvm 1 | 2003/06/02 17:57:49 | Send a packet 110 : l8UNrzpcbCpDXicL INFO | jvm 1 | 2003/06/02 17:57:49 | handleSocket(Socket[addr=/127.0.0.1,port=1777,localport=2439]) DEBUG | wrapperp | 2003/06/02 17:57:49 | accepted a socket from 127.0.0.1 on port 2439 DEBUG | wrapperp | 2003/06/02 17:57:49 | read a packet 110 : l8UNrzpcbCpDXicL DEBUG | wrapper | 2003/06/02 17:57:49 | Got key from JVM: l8UNrzpcbCpDXicL DEBUG | wrapperp | 2003/06/02 17:57:49 | send a packet 112 : 1 DEBUG | wrapperp | 2003/06/02 17:57:49 | send a packet 113 : 30 DEBUG | wrapper | 2003/06/02 17:57:49 | Start Application. DEBUG | wrapperp | 2003/06/02 17:57:49 | send a packet 100 : start INFO | jvm 1 | 2003/06/02 17:57:49 | Received a packet 112 : 1 INFO | jvm 1 | 2003/06/02 17:57:49 | Wrapper Manager: LowLogLevel from Wrapper is 1 INFO | jvm 1 | 2003/06/02 17:57:49 | Received a packet 113 : 30 INFO | jvm 1 | 2003/06/02 17:57:49 | Wrapper Manager: PingTimeout from Wrapper is 30000 INFO | jvm 1 | 2003/06/02 17:57:49 | Received a packet 100 : start INFO | jvm 1 | 2003/06/02 17:57:49 | calling listener.start() INFO | jvm 1 | 2003/06/02 17:57:49 | WrapperSimpleApp: start(args) INFO | jvm 1 | 2003/06/02 17:57:49 | WrapperSimpleApp: invoking main method INFO | jvm 1 | 2003/06/02 17:57:50 | WrapperSimpleApp: main method completed INFO | jvm 1 | 2003/06/02 17:57:50 | WrapperSimpleApp: start(args) end. Main Completed=true, exitCode=null INFO | jvm 1 | 2003/06/02 17:57:50 | returned from listener.start() INFO | jvm 1 | 2003/06/02 17:57:50 | Send a packet 106 : DEBUG | wrapperp | 2003/06/02 17:57:50 | read a packet 106 : DEBUG | wrapper | 2003/06/02 17:57:50 | JVM signalled that it was started. DEBUG | wrapperp | 2003/06/02 17:57:54 | send a packet 103 : ping INFO | jvm 1 | 2003/06/02 17:57:54 | Received a packet 103 : ping INFO | jvm 1 | 2003/06/02 17:57:54 | Send a packet 103 : ok INFO | jvm 1 | 2003/06/02 17:57:54 | All non-daemon threads have stopped. Exiting. INFO | jvm 1 | 2003/06/02 17:57:54 | Send a packet 101 : 0 DEBUG | wrapperp | 2003/06/02 17:57:54 | read a packet 103 : ok DEBUG | wrapper | 2003/06/02 17:57:54 | Got ping response from JVM DEBUG | wrapperp | 2003/06/02 17:57:54 | read a packet 101 : 0 DEBUG | wrapper | 2003/06/02 17:57:54 | JVM requested a shutdown. (0) DEBUG | wrapper | 2003/06/02 17:57:54 | wrapperStopProcess(0) called. DEBUG | wrapper | 2003/06/02 17:57:54 | Sending stop signal to JVM DEBUG | wrapperp | 2003/06/02 17:57:54 | send a packet 101 : NULL INFO | jvm 1 | 2003/06/02 17:57:55 | Thread, Wrapper-Connection, handling the shutdown process. INFO | jvm 1 | 2003/06/02 17:57:55 | calling listener.stop() INFO | jvm 1 | 2003/06/02 17:57:55 | WrapperSimpleApp: stop(0) INFO | jvm 1 | 2003/06/02 17:57:55 | returned from listener.stop() INFO | jvm 1 | 2003/06/02 17:57:55 | Send a packet 107 : 0 INFO | jvm 1 | 2003/06/02 17:57:55 | Closing socket. DEBUG | wrapperp | 2003/06/02 17:57:55 | read a packet 107 : 0 DEBUG | wrapper | 2003/06/02 17:57:55 | JVM signalled that it was stopped. DEBUG | wrapperp | 2003/06/02 17:57:55 | socket read no code (closed?). INFO | jvm 1 | 2003/06/02 17:57:55 | calling System.exit(0) DEBUG | wrapper | 2003/06/02 17:57:55 | JVM exited normally. STATUS | wrapper | 2003/06/02 17:57:56 | <-- Wrapper Stopped --------------------------------- Do you Yahoo!? Free online calendar with sync to Outlook(TM). |
|
From: Rod C. <rod...@ej...> - 2003-06-02 15:59:44
|
Wrapper is included in Out-of-the-Box 2.0, an intelligent distribution of over 100 Open Source projects for Java developers on both Linux and Windows. Its graphical installer provides selective and incremental installation = and uninstallation, automatic project dependency management, easy project configuration, and a highly-organized built-in project knowledge base. = When installation completes, the selected projects are installed, configured, integrated, tested (with live JUnit/HttpUnit test reports to prove it = all worked), running, and ready to use. You get 10 custom sample applications, including ones for JBoss that = take advantage of XDoclet, Middlegen, Hibernate, AspectJ, and more. Out-of-the-Box comes with a 350 page user guide that contains tips, = gotchas, and workarounds for the major projects, along with a substantial section = on JBoss. The free Community Edition is fully functional, does not expire, and = does not require registration. It installs just over 25 of the 100+ = projects, including JBoss, MySQL, and Castor, and comes with the Castor sample = project and nearly all of the Enterprise Edition documentation. Please visit http://www.ejbsolutions.com for details or to download the = free Community Edition. Rod |
|
From: Paul C. <cas...@au...> - 2003-06-01 23:50:36
|
Hi Leif, You're a legend! The "-p" and "-t" options do exactly what I need. I started testing this approach to starting and stopping the services on Saturday, but there was a power outage a few hours later so I'm going on 3 successful stops and 3 successful starts. Still, there were no errors so all looks good. I'll speak to our client next week about giving you some support - we're not charging them for the use of your software, so I'll see what the outcome is. Thanks, Paul Casanova |
|
From: Leif M. <le...@ta...> - 2003-05-31 05:58:52
|
Paul Casanova wrote: >to you between your emails - I was probably asleep due to the time zone >difference. > I am in Japan, so everyone is always asleep when I am awake. :-) >It's Saturday now and I've set up the "at" command on the dev server to add >and remove the services using the wrapper each alternate hour (ie install >the services and use "net start" to start them all one hour, uninstall the >services the next hour and so on) for the entire weekend. So far it hasn't >failed in over 18 hours (that's 9 installs/starts and removals/stops in a >row!) - which indicates that it's reliable. > This is using the Wrapper -r ../conf/wrapper.conf to uninstall correct? >I would like to try the new version with commands as mentioned - I can't >access the url supplied though. Could I please get you to check it and >confirm? > >The supplied url was: >http://wrapper.tanukisoftware.com/tmp/wrapper_win32_3.0.4b.zip > Sorry, I do that sometimes. it should have been .org: http://wrapper.tanukisoftware.org/tmp/wrapper_win32_3.0.4b.zip >Can I access it via CVS in Sourceforge (I couldn't find it, but then again >I'm pretty new to CVS at sourceforge!). > Direct CVS access is also great, you can keep up with all the latest. Getting CVS setup with SSH access is a little bit involved, but anonymous is quite easy: Just go to the following URL each SF project has one: http://sourceforge.net/cvs/?group_id=39428 Download WinCVS and then use the login and repository URLs found on the above page. The page also has links to how to use CVS etc. Cheers, Leif |
|
From: Paul C. <cas...@au...> - 2003-05-31 00:20:32
|
Thanks for your response. I've found that with this NT4 server sometimes upon boot up the services database remains locked for a fair while (1 hour +), but after it has unlocked, it appears that services can be added and removed quite reliably - although this isn't my preference. Leif, I can't believe how fast you work!! Again I apologise for not getting back to you between your emails - I was probably asleep due to the time zone difference. It's Saturday now and I've set up the "at" command on the dev server to add and remove the services using the wrapper each alternate hour (ie install the services and use "net start" to start them all one hour, uninstall the services the next hour and so on) for the entire weekend. So far it hasn't failed in over 18 hours (that's 9 installs/starts and removals/stops in a row!) - which indicates that it's reliable. I would like to try the new version with commands as mentioned - I can't access the url supplied though. Could I please get you to check it and confirm? The supplied url was: http://wrapper.tanukisoftware.com/tmp/wrapper_win32_3.0.4b.zip Can I access it via CVS in Sourceforge (I couldn't find it, but then again I'm pretty new to CVS at sourceforge!). Thanks, Paul Casanova AMS Ballarat Application Centre IBM Global Services Australia Mount Helen Telephone: 61-3-53273245 Fax: 61-3-53273297 "David Resnick" <dre...@mo...> To: <wra...@li...> Sent by: cc: wra...@li... Subject: RE: [Wrapper-user] Starting and stopping multiple configured services ceforge.net 31/05/2003 01:24 AM Please respond to wrapper-user "The only concern I have is that sometimes Windows NT (our dev server anyway) plays up when services are added and removed several times. It comes up with a message saying that "the services database is locked"." I've seen this problem occur if you try removing a service when the windows services applet is open. The service you've just removed will still appear in the applet until the applet is closed; this seems to make the service removal "pending". This could be why removing/adding the service was flaky. Regards, David Resnick MobileSpear Inc. -----Original Message----- From: Paul Casanova [mailto:cas...@au...] Sent: Friday, May 30, 2003 01:21 To: wra...@li... Subject: Re: [Wrapper-user] Starting and stopping multiple configured services Sorry for not replying sooner - it's 9am here in Australia now. Leif, this sounds like the way to go! I'll do some testing on it this morning and give you some feedback. The only concern I have is that sometimes Windows NT (our dev server anyway) plays up when services are added and removed several times. It comes up with a message saying that "the services database is locked". It's really weird, but this started happening after we switched the server from Token Ring to Ethernet (finally!). It reoccurred when I was testing JavaService, but to date I haven't seen the problem occur with Java Service Wrapper, so here's hoping it was because of buggy tools. Thanks, Paul Casanova ------------------------------------------------------- This SF.net email is sponsored by: eBay Get office equipment for less on eBay! http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 _______________________________________________ Wrapper-user mailing list Wra...@li... https://lists.sourceforge.net/lists/listinfo/wrapper-user ------------------------------------------------------- This SF.net email is sponsored by: eBay Get office equipment for less on eBay! http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 _______________________________________________ Wrapper-user mailing list Wra...@li... https://lists.sourceforge.net/lists/listinfo/wrapper-user |
|
From: <da...@ix...> - 2003-05-30 18:03:43
|
I'd like to discuss doing away with the Linux specific script in favor of
the generic Unix one.
I believe that all versions of ps available on Linux support the -p option
that the generic script uses. At least, I suspect that all versions since
RedHat 6.3 (since Sun builds java on RH 6.3, I believe that this is a
suitable base to use).
The only problem is that ps often end up in different locations on
different Linux boxes. For instnace, on my box at home, there is a
/usr/bin/ps, but on the machines at work, it is only in /bin.
I have been using the following patch to the generic wrapper for several
weeks now on a variety of Linux boxes. It essentially replaces the
hardcoded references of /usr/bin/ps with $PSEXE, which is detected similar
to how PIDOF is detected in the Linux script. If nothing else, it should
enhance the generic script a little, even if you don't drop the Linux
specific version.
Comments?
mrc
--- wrapper/3.0.3/linux/src/bin/sh.script.in Wed May 28 11:24:07 2003
+++ NodeWarrior/bin/nw Wed May 28 11:23:55 2003
@@ -60,10 +60,21 @@
cd `dirname $REALPATH`
# Process ID
-PIDDIR="/var/run"
+PIDDIR="../logs"
PIDFILE="$PIDDIR/$APP_NAME.pid"
pid=""
+PSEXE="/usr/bin/ps"
+if [ ! -x $PSEXE ]
+then
+ PSEXE="/bin/ps"
+ if [ ! -x $PSEXE ]
+ then
+ echo "Cannot find 'ps'."
+ exit 1
+ fi
+ fi
+
getpid() {
if [ -f $PIDFILE ]
then
@@ -73,7 +84,7 @@
if [ "X$pid" != "X" ]
then
# Verify that a process with this pid is still running.
- pid=`/usr/bin/ps -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
+ pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
if [ "X$pid" = "X" ]
then
# This is a stale pid file.
@@ -131,7 +142,7 @@
kill $pid
sleep 6
- pid=`/usr/bin/ps -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
+ pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
if [ "X$pid" != "X" ]
then
@@ -139,7 +150,7 @@
kill -9 $pid
rm -f $PIDFILE
- pid=`/usr/bin/ps -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
+ pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
fi
if [ "X$pid" != "X" ]
--
Mike Castle da...@ix... www.netcom.com/~dalgoda/
We are all of us living in the shadow of Manhattan. -- Watchmen
fatal ("You are in a maze of twisty compiler features, all different"); -- gcc
|
|
From: <da...@ix...> - 2003-05-30 16:20:01
|
In article <3ED...@ta...>,
Leif Mortenson <wra...@li...> wrote:
> To stop it, use the following:
>Wrapper.exe -p ../conf/wrapper.conf
It would be nice is the wrapper.bat file handled start|stop|console in the
same way the unix scripts did.
Would make less special casing of documenation. :->
mrc
--
Mike Castle da...@ix... www.netcom.com/~dalgoda/
We are all of us living in the shadow of Manhattan. -- Watchmen
fatal ("You are in a maze of twisty compiler features, all different"); -- gcc
|
|
From: David R. <dre...@mo...> - 2003-05-30 14:23:53
|
"The only concern I have is that sometimes Windows NT (our dev server anyway) plays up when services are added and removed several times. It comes up with a message saying that "the services database is locked"." I've seen this problem occur if you try removing a service when the windows services applet is open. The service you've just removed will still appear in the applet until the applet is closed; this seems to make the service removal "pending". This could be why removing/adding the service was flaky. Regards, David Resnick MobileSpear Inc. -----Original Message----- From: Paul Casanova [mailto:cas...@au...]=20 Sent: Friday, May 30, 2003 01:21 To: wra...@li... Subject: Re: [Wrapper-user] Starting and stopping multiple configured services Sorry for not replying sooner - it's 9am here in Australia now. Leif, this sounds like the way to go! I'll do some testing on it this morning and give you some feedback. The only concern I have is that sometimes Windows NT (our dev server anyway) plays up when services are added and removed several times. It comes up with a message saying that "the services database is locked". It's really weird, but this started happening after we switched the server from Token Ring to Ethernet (finally!). It reoccurred when I was testing JavaService, but to date I haven't seen the problem occur with Java Service Wrapper, so here's hoping it was because of buggy tools. Thanks, Paul Casanova ------------------------------------------------------- This SF.net email is sponsored by: eBay Get office equipment for less on eBay! http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 _______________________________________________ Wrapper-user mailing list Wra...@li... https://lists.sourceforge.net/lists/listinfo/wrapper-user |
|
From: Leif M. <le...@ta...> - 2003-05-30 09:34:34
|
Paul,
Ok, I spent some time today and added two new commands to the
Wrapper on Windows to start and stop an NT Service. These commands
are actually quite useful as they use the wrapper.conf file to stop the
service rather than requiring the name of the server as do the net start
and net stop commands.
In addition, these commands work much more reliably than their
net start/stop counterparts. The Wrapper now gives nice descriptive
explanations of exactly what is happening as it tries to stop or stop a
service.
For example if you start a service that takes a while to start in one
command window and stop it from another, you will get clear messages
in both command windows and they will both block until the service has
stopped.
Likewise, if you stop a service that takes a long time to stop in one
window and then attempt to stop it again from another window, the
second attempt will tell the user that the service was already stopping
and they will both wait until the service has completely stopped.
I think I have all the various error cases worked out as well, but
please
try out any that you can think of. If any of the messages are confusing,
let me know and I'll try to make them a little clearer.
As you are the main reason for these new features, I was hoping you
could help test them out and verify that they are working with your
applications as expected. You can download version 3.0.4b from the
following URL. This is not an official release and has not yet gone through
my full wave of tests, but it should be fine.
http://wrapper.tanukisoftware.com/tmp/wrapper_win32_3.0.4b.zip
If you type "Wrapper.exe -?" you will see the new commands.
Installing and removing the service is the same as before. To start a
service that has been installed. use the following command:
Wrapper.exe -t ../conf/wrapper.conf
To stop it, use the following:
Wrapper.exe -p ../conf/wrapper.conf
Hope this helps,
Cheers,
Leif
|
|
From: Leif M. <le...@ta...> - 2003-05-30 06:30:52
|
Paul,
>Having some trouble here gettings Windows NT to stop the services and/or
>remove the services without problem.
>
What is the problem that you are having? net stop will time out but the
removing the service should always be waiting and I need to know if it is
not.
>I was thinking about writing a new class to control shutdown of the
>application components at backup time - although I'm not really sure how to
>do this in light of the fact that I'm using method 2 of the integration
>methods (org.tanukisoftware.wrapper.WrapperStartStopApp).
>
>I'm really only having trouble with the complicated classes - ie those with
>database connections to close etc. Tomcat and the registry server shut
>down ok via "net stop".
>
>I was thinking of adding a new method for each of my classes (eg "public
>void rapidShutdown()") which would just call System.exit(). This method in
>each of these classes could then be called by a new class whose only
>purpose is to shut them all down at backup time, and then stop the service
>("net stop"). Would the Java Service Wrapper see this as a JVM crash and
>try to restart the application(s)?
>
>
I described how to shut your application down instantly in a previous
email, but I'll go into more detail this time.
---
You could implement this behavior easily in your own applications by
adding a check to the beginning of your application's shutdown hook. If
the current time is within a certain window, execute the following code.
If you call halt outside a shutdown hook, and the Wrapper has not
requested that the JVM shutdown, then it will interpret the JVM exiting
as it having crashed and will restart the JVM. The call to signalStopped
is to tell the Wrapper that the JVM is exiting intentionally so it is not
restarted. System.exit will shutdown cleanly and the Wrapper will
handle it correctly.
WrapperManager.signalStopped( 0 )
Runtime.getRuntime().halt(0)
---
I think you should let your system stop the Wrapper controlled Java apps
as usual. On the Java side, when the Wrapper starts to shut them down,
their shutdown hooks will be started. I don't know if you have created any
of your own shutdown hooks, but they are pretty easy to do.
Just add the following code and write the isTimeForQuickShutdown()
method to suit your needs.
---SOURCE BEGIN
Thread shutdownHook = new Thread()
{
public void run()
{
System.out.println( "My shutdown hook starting." );
if ( isTimeForQuickShutdown() )
{
System.out.println( "Forcing an immediate shutdown." );
WrapperManager.signalStopped( 0 )
Runtime.getRuntime().halt(0)
}
System.out.println( "My shutdown hook completed." );
}
}
Runtime runtime = Runtime.getRuntime();
runtime.addShutdownHook( shutdownHook );
---SOURCE END
One idea for the isTimeForQuickShutdown() would be to look for a marker
file in a certain directory. If it is there, halt abruptly, otherwise
shutdown
cleanly. Your batch file could then simply create this file when it
wants to
shutdown all of your applications for their nightly backups. This way you
could run the script at any time of the day.
Cheers,
Leif
|
|
From: Paul C. <cas...@au...> - 2003-05-30 04:58:07
|
Hi Leif,
Having some trouble here gettings Windows NT to stop the services and/or
remove the services without problem.
I was thinking about writing a new class to control shutdown of the
application components at backup time - although I'm not really sure how to
do this in light of the fact that I'm using method 2 of the integration
methods (org.tanukisoftware.wrapper.WrapperStartStopApp).
I'm really only having trouble with the complicated classes - ie those with
database connections to close etc. Tomcat and the registry server shut
down ok via "net stop".
I was thinking of adding a new method for each of my classes (eg "public
void rapidShutdown()") which would just call System.exit(). This method in
each of these classes could then be called by a new class whose only
purpose is to shut them all down at backup time, and then stop the service
("net stop"). Would the Java Service Wrapper see this as a JVM crash and
try to restart the application(s)?
Thanks,
Paul Casanova
|
|
From: Paul C. <cas...@au...> - 2003-05-29 23:22:56
|
Sorry for not replying sooner - it's 9am here in Australia now. Leif, this sounds like the way to go! I'll do some testing on it this morning and give you some feedback. The only concern I have is that sometimes Windows NT (our dev server anyway) plays up when services are added and removed several times. It comes up with a message saying that "the services database is locked". It's really weird, but this started happening after we switched the server from Token Ring to Ethernet (finally!). It reoccurred when I was testing JavaService, but to date I haven't seen the problem occur with Java Service Wrapper, so here's hoping it was because of buggy tools. Thanks, Paul Casanova |