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: Jim R. <jr...@er...> - 2003-10-30 19:36:33
|
Philip, I hit the same basic problem - and have no solution. In my case, I received an iMarshall request, then no other COM requests. Again the app works find as a batch file, just not in the wrapper. I have no further clues. Jim On 2003.10.30 12:13, Philip Kubat wrote: > My application is a WMI (Microsoft Wbem) java application. I have > used JNI > to access WMI via DCOM. The applications works fine if it is run via > the > command line and java. It does not work within wrapper. I believe > the > problem is how I am "passing" the pointer to the IWbemServices object. > In > msdev debug I do not seem to retain a valid object (via pointer) of > the > object that I need methods of in additional JNI calls. I have two JNI > functions. One that creates and connects to WMI via DCOM then stores > the > pointer into the java environment (in the object that makes the > function > call to JNI). The second uses methods of that WMI object via the > pointer > to retrieve system data, this methods is used several time through out > the > application. Any ideas and thought would be helpful. > > > > Does wrapper some who create new threads for these JNI calls? Do I > need a > better means to pass the pointer? Is there a what to protect the > memory of > that pointer? > > > > Thanks! > > -- Jim Redman (505) 662 5156 x85 http://www.ergotech.com |
|
From: Philip K. <pk...@sp...> - 2003-10-30 19:13:55
|
My application is a WMI (Microsoft Wbem) java application. I have used JNI to access WMI via DCOM. The applications works fine if it is run via the command line and java. It does not work within wrapper. I believe the problem is how I am "passing" the pointer to the IWbemServices object. In msdev debug I do not seem to retain a valid object (via pointer) of the object that I need methods of in additional JNI calls. I have two JNI functions. One that creates and connects to WMI via DCOM then stores the pointer into the java environment (in the object that makes the function call to JNI). The second uses methods of that WMI object via the pointer to retrieve system data, this methods is used several time through out the application. Any ideas and thought would be helpful. Does wrapper some who create new threads for these JNI calls? Do I need a better means to pass the pointer? Is there a what to protect the memory of that pointer? Thanks! |
|
From: Philip K. <pk...@sp...> - 2003-10-30 18:28:16
|
My application is a WMI (Microsoft Wbem) java application. I have used JNI to access WMI via DCOM. The applications works fine if it is run via the command line and java. It does not work within wrapper. I believe the problem is how I am "passing" the pointer to the IWbemServices object. In msdev debug I do not seem to retain a valid object (via pointer) of the object that I need methods of in additional JNI calls. I have two JNI functions. One that creates and connects to WMI via DCOM then stores the pointer into the java environment (in the object that makes the function call to JNI). The second uses methods of that WMI object via the pointer to retrieve system data, this methods is used several time through out the application. Any ideas and thought would be helpful. Does wrapper some who create new threads for these JNI calls? Do I need a better means to pass the pointer? Is there a what to protect the memory of that pointer? Thanks! |
|
From: Dave C. <dca...@ok...> - 2003-10-30 14:59:11
|
Hi, 1- I use Method 3 on my project, and I get the following warning when = using wrapper on Solaris 9, 64 bits, WHY? =20 INFO | jvm 1 | 2003/10/30 09:41:03 | WARNING - Unable to load = native library 'libwrapper.so'. The file INFO | jvm 1 | 2003/10/30 09:41:03 | is located on the = path at the following location but could INFO | jvm 1 | 2003/10/30 09:41:03 | not be loaded: INFO | jvm 1 | 2003/10/30 09:41:03 | /opt/Project/lib/libwrapper.so INFO | jvm 1 | 2003/10/30 09:41:03 | Please verify that = the file is readable by the current user INFO | jvm 1 | 2003/10/30 09:41:03 | and that the file = has not been corrupted in any way. INFO | jvm 1 | 2003/10/30 09:41:03 | System signals will = not be handled correctly. INFO | jvm 1 | 2003/10/30 09:41:03 | INFO | jvm 1 | 2003/10/30 09:41:04 | Wrapper (Version 3.0.5) INFO | jvm 1 | 2003/10/30 09:41:04 | =20 2- Why the binaries realpath and wrapper are not already build in the = binary package (wrapper_solaris_3.0.5.tar.gz <http://prdownloads.sourceforge.net/wrapper/wrapper_solaris_3.0.5.tar.gz?= dow nload> ) ?=20 =20 =20 Thanks for you help Daveyboy |
|
From: Sal I. <sal...@sy...> - 2003-10-29 18:55:24
|
this seems to have little to do with the wrapper. the problem you're seeing is an unfortunate screw up on sun's side. i've seen it before. it happens when you install 1.4 so 1. verify that if you type java from the command line you should also get this error: Software\JavaSoft\Java Runtime Environment\CurrentVersion' has value '1.4', but '1.3' is required. 2. regedit "Software\JavaSoft\Java Runtime Environment\CurrentVersion" and set the value to 1.3 note that when you do this, any 1.4 program you're running might stop functioning, so be ready to set it back if that happens. 3. run java from the command prompt & make sure it doesn't give you the error 4. run "java -version" to see which version you're using 5. if you still have a version mismatch, remove java.exe from %WinDir%. that's where the 1.4 installation puts it. note that because of this, even if you point JAVA_HOME to your 1.3 installation & you put "%JAVA_HOME%\bin" in your path, it's still the %WinDir% version that gets picked up. don't know why the sun guys are doing this, it goes against all we've learned in the past few years about %WinDir%!!! run "java -version" to make sure you're running the right version 6. try with the wrapper! 7. if this still fails look at the log file for more errors. -----Original Message----- From: wra...@li... [mailto:wra...@li...]On Behalf Of Williams, Rhian Sent: Wednesday, October 29, 2003 10:22 AM To: 'wra...@li...' Subject: [Wrapper-user] error starting service Hi, I am using the WrapperSimpleApp helper class to launch my application. Everything works fine when I run the myapp.bat file and I installed it as a service. However when I try and start the service I an internal NT error and the following is written to the log files I initially thought this might be because the JAVA_HOME pointed to java 1.3 version, however I changed this to point to the 1.4 java and I still got the same error I would really appreciate any tips INFO | jvm 5 | 2003/10/29 19:01:52 | Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' INFO | jvm 5 | 2003/10/29 19:01:52 | has value '1.4', but '1.3' is required. INFO | jvm 5 | 2003/10/29 19:01:52 | Error: could not find java.dll INFO | jvm 5 | 2003/10/29 19:01:52 | Error: could not find Java 2 Runtime Environment. ERROR | wrapper | 2003/10/29 19:01:52 | JVM exited while loading the application. Regards, Rhian ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Wrapper-user mailing list Wra...@li... https://lists.sourceforge.net/lists/listinfo/wrapper-user |
|
From: Williams, R. <Rhi...@co...> - 2003-10-29 18:22:33
|
Hi, I am using the WrapperSimpleApp helper class to launch my application. Everything works fine when I run the myapp.bat file and I installed it as a service. However when I try and start the service I an internal NT error and the following is written to the log files I initially thought this might be because the JAVA_HOME pointed to java 1.3 version, however I changed this to point to the 1.4 java and I still got the same error I would really appreciate any tips INFO | jvm 5 | 2003/10/29 19:01:52 | Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' INFO | jvm 5 | 2003/10/29 19:01:52 | has value '1.4', but '1.3' is required. INFO | jvm 5 | 2003/10/29 19:01:52 | Error: could not find java.dll INFO | jvm 5 | 2003/10/29 19:01:52 | Error: could not find Java 2 Runtime Environment. ERROR | wrapper | 2003/10/29 19:01:52 | JVM exited while loading the application. Regards, Rhian |
|
From: Leif M. <le...@ta...> - 2003-10-29 05:34:39
|
Prashant Reddy wrote: >Leif, > > >> The Wrapper will have no problems having 2 copies of itself running at >>the same time. >> The following is an idea (untested) >> >> >We use this configuration to run two instances of our server application lot >of times, I was apprehensive of both instances writing to same .log >file..but everything seems to be working fine even with one log file. >If wrapper.port property is deprecated..Does it mean it will not be >configurable. The default value will be what, 1777+? > > Maybe deprecated is the wrong word. It is no longer required. I kept having people ask about warning caused when they tried to run multiple copies of the Wrapper with the same port. The socket is only used internally so there is not really any reason for the user to have to specify it. As of version 3.0.5, the wrapper will use the value of wrapper.port if it is specified. Otherwise if will look for the first available port over port 32000. I use the high number to avoid possible conflicts with any user defined well known ports. This is up in the range that ports are dynamically pulled from by the system. There should be no loss of functionality here. Only a simplification for new users. Cheers, Leif |
|
From: Prashant R. <pra...@pr...> - 2003-10-29 05:07:48
|
Leif, > The Wrapper will have no problems having 2 copies of itself running at > the same time. > The following is an idea (untested) We use this configuration to run two instances of our server application lot of times, I was apprehensive of both instances writing to same .log file..but everything seems to be working fine even with one log file. If wrapper.port property is deprecated..Does it mean it will not be configurable. The default value will be what, 1777+? Thanks Prashant ----- Original Message ----- From: "Leif Mortenson" <le...@ta...> To: <wra...@li...> Sent: Tuesday, October 28, 2003 3:23 PM Subject: Re: [Wrapper-user] Stopping a JVM, but leaving it around? > Ole, > Hmmm. This is a difficult one. I think I understand the issues now. > The Wrapper is only capable of controlling one JVM at a time. In order > to do what you are trying to do, you are going to need to have 2 JVMs > running at the same time. So if you want them controlled by the Wrapper > that is going to mean 2 copies of the Wrapper. > > The Wrapper will have no problems having 2 copies of itself running at > the same time. > The following is an idea (untested) > Create two shell scripts that are copies of the one provided by the > Wrapper > called serverA.sh and serverB.sh. These will be used to control each of 2 > Wrapper invocations. Modify them to have different app names and this > different pid file names as well. They also need to be modified to > point to two > config files wrapperA.conf and wrapperB.conf. Each of these config files > will do nothing but include the main wrapper.conf file AND declare their > own log files wrapperA.log and wrapperB.log. > > wrapperA.conf > # paths relative to the location of the wrapper binary > #include ../conf/wrapper.conf > wrapper.logfile=../logs/wrapperA.log > > wrapperB.conf > #include ../conf/wrapper.conf > wrapper.logfile=../logs/wrapperB.log > > You should now be able to control each of the servers as single apps. > Once one is running, it will restart itself if it fails due to an error. > > Now for the work. Create a new shell script that accepts all of the > command arguments accepted by the wrapper shell scripts. > The first thing that this new script will do is to check for the > existence > of a serverA.pid and/or serverB.pid file. > If you call the script with the "start" command, it should give an error > if either pid exists. Otherwise it will always call "start" on the serverA > script. > If "stop" is called, it will call "stop" on serverA and/or serverB > scripts. > If "dump" is called, it will call "stop" on serverA and/or serverB > scripts. > If "restart" is called then it will give and error if both the > serverA.pid and > serverB.pid exist. If only one exists, then "stop" will be called on > that script > and "start" will be called on the other. > > This should work fairly well for you. By calling restart, you will > be able > to reload your application on demand and keep the second copy running > until it can be shutdown. But if the active JVM crashes in the middle > of the > night, it will be restarted by its controlling Wrapper. > > > That would be the port number? Your code seem to verify that the port > > is free and then increment, if not I can have the script increment it > > within a range > > Actually, as of version 3.0.4, manual use of the wrapper.port property is > deprecated. If you still have it in your wrapper.conf file, you should > remove > it. > I was referring to the wrapper.log file as well as any resources used by > your > application. You will still have to be careful about those on your > own. Take > advantage of the wrapperA.conf and wrapperB.conf files to set different > system properties etc. > > > I know I'm stretching the purpose a bit but I really like to adopt > > Wrapper for my app. Thanks for your help! > > That is why the Wrapper has continued to grow. While I have used several > newer features once they were implemented. The Wrapper pretty much did what > I needed a year a go. I am always amazed at some of the ideas that > users come > up with. It is a tribute to the benefits of opening up a project. > There is a definite > large cost in time and thus money to support users for free (Offset by > generous > donations from users that want say thanks. Hint hint :-D) But there > are also > benefits from having so many users look at the code. I had to support a > user on > Solaris last year. I personally only have used Linux and Windows so it > would > have involved a huge investment in testing before I could have used it. > But thanks > to the user base and their experience with using the Solaris version, I > knew that > it could be relied on. > > Cheers > Leif > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: The SF.net Donation Program. > Do you like what SourceForge.net is doing for the Open > Source Community? Make a contribution, and help us add new > features and functionality. Click here: http://sourceforge.net/donate/ > _______________________________________________ > Wrapper-user mailing list > Wra...@li... > https://lists.sourceforge.net/lists/listinfo/wrapper-user |
|
From: Jimmy C. <ji...@te...> - 2003-10-28 15:31:02
|
Hi Leif,
Thanks for your help. I turned on the debug mode and it was true that
windows didn't find my app. I re-set my environment variable stuffs in
the conf file and it works.
Thank you!
Jimmy Chu
-----Original Message-----
From: Leif Mortenson [mailto:le...@ta...]=20
Sent: Monday, October 27, 2003 10:30 PM
To: wra...@li...
Subject: Re: [Wrapper-user] Launching but not starting a service
Jimmy,
From the error message, by guess is that the java executable is not=20
being found
when run as a service. The way to quickly solve problems like this is=20
to set the
wrapper.debug=3Dtrue property and attempt to start your service again. =
In most
cases, it will then be obvious what the problem is. If you could post=20
the resulting
DEBUG output from a single invocation of the Wrapper, I should be able
to tell you what the problem is.
Make sure that the JAVA_HOME and JWrapperPath environment variables
have been defined as system level environment variables.
Cheers,
Leif
Jimmy Chu wrote:
>Hi,
>
>I followed the example of implementing the wrapperListener interface. I
>tested it first in console mode and experienced no problem (The wrapper
>created the instance, started it, and finally stopped it). Then I=20
>registered it as service using -i flag and started it using the -t=20
>flag. But when I started the service, it gave me the error message of:
>
>wrapper | Starting the Jimmy Chu Sample Application service... wrapper
>| The Jimmy Chu Sample Application service was launched, but failed to
>start.
>
>Any help is greatly appreciated!
>
>My sample app. is as followed:
>
>//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D myApp.java =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>import org.tanukisoftware.wrapper.WrapperManager;
>import org.tanukisoftware.wrapper.WrapperListener;
>
>public class myApp implements WrapperListener {
>=09
> public myApp() {
> System.out.println("Creating me...");
> }
>=09
> public Integer start( String[] args ) {
> System.out.println("I am starting");
> return null;
> }
>=09
> public int stop( int exitCode ) {
> System.out.println("I am stopping");
> return exitCode;
> }
>
> public void controlEvent( int event )
> {
> if (WrapperManager.isControlledByNativeWrapper()) {
> // The Wrapper will take care of this event
> } else {
> // We are not being controlled by the Wrapper, so
> // handle the event ourselves.
> if ((event =3D=3D WrapperManager.WRAPPER_CTRL_C_EVENT) ||
> (event =3D=3D WrapperManager.WRAPPER_CTRL_CLOSE_EVENT) =
||
> (event =3D=3D =
WrapperManager.WRAPPER_CTRL_SHUTDOWN_EVENT)){
> WrapperManager.stop(0);
> }
> }
> }
>
> public static void main(String[] args) {
> WrapperManager.start( new myApp(), args);
> }
>}
>
>#=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3Dwrapper.conf=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>wrapper.java.command=3D%JAVA_HOME%/bin/java
>wrapper.java.mainclass=3DmyApp wrapper.java.classpath.1=3D./wrapper.jar
>wrapper.java.classpath.2=3D.
>wrapper.java.library.path.1=3D%JWrapperPath%/lib
>wrapper.java.initmemory=3D3
>wrapper.java.maxmemory=3D64
>
>wrapper.ntservice.name=3DTESTINGMYAPP
>wrapper.ntservice.displayname=3DJimmy Chu Sample Application=20
>wrapper.ntservice.description=3DJimmy Chu Service Description
>
>Jimmy Chu
>
>
>-------------------------------------------------------
>This SF.net email is sponsored by: The SF.net Donation Program. Do you=20
>like what SourceForge.net is doing for the Open Source Community? Make
>a contribution, and help us add new features and functionality. Click=20
>here: http://sourceforge.net/donate/=20
>_______________________________________________
>Wrapper-user mailing list
>Wra...@li...
>https://lists.sourceforge.net/lists/listinfo/wrapper-user
>
> =20
>
-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program. Do you
like what SourceForge.net is doing for the Open Source Community? Make
a contribution, and help us add new features and functionality. Click
here: http://sourceforge.net/donate/
_______________________________________________
Wrapper-user mailing list
Wra...@li...
https://lists.sourceforge.net/lists/listinfo/wrapper-user
|
|
From: Leif M. <le...@ta...> - 2003-10-28 10:09:24
|
Yasir,
I feel I already answered this. But see no records of it on the
list :-/ So sorry
if it is a dup.
Could you verify that the TestApp script is saved as a UNIX file and
does not
have Windows line feeds? That may be a possible cause.
Also what version of the wrapper are you running? Is your TestApp
script a
modified script or the one that comes with the Wrapper? The current
version is
5937 bytes (depends on the app name) And yours is 6151, which is quite
a bit
bigger. That's why I ask about the line feeds.
Other than that, everything you sent looks fine. I don't think the
TestApp script
is ever being launched so I am pretty sure it is not a wrapper or wrapper
configuration related problem. Let me know if it is not the line feeds
and I'll maybe
think of something else..
Cheers,
Leif
Yasir Khan wrote:
> Hi,
>
> I checked the following:
> # ls -l<br> total 118<br> -rwxrwxrwx 1 root other 6151 Oct 23 12:16
> TestApp<br> -rwxrwxrwx 1 root other 52548 Sep 11 13:07 wrapper<br> #
> TestApp <br> TestApp: not found<br> # TestApp console<br> TestApp: not
> found<br> # ./TestApp console<br> ./TestApp: not found<br> # cd ..<br>
> # ls -l<br> total 1804<br> drwxr-xr-x 2 root other 512 Oct 23 12:23
> bin<br> drwxr-xr-x 2 root other 512 Oct 23 12:19 conf<br> drwxr-xr-x 5
> root other 512 Oct 23 12:16 lib<br> drwxr-xr-x 4 root other 512 Oct 22
> 18:12 logs<br> drwxr-xr-x 2 root other 512 Oct 22 18:10 misc<br>
> -rw-r--r-- 1 root other 512 Aug 27 17:11 TestApp.sh<br> # bin/TestApp
> console<br> bin/TestApp: not found<br> # ./bin/TestApp console<br>
> ./bin/TestApp: not found
|
|
From: Leif M. <le...@ta...> - 2003-10-28 09:54:14
|
Ole,
Hmmm. This is a difficult one. I think I understand the issues now.
The Wrapper is only capable of controlling one JVM at a time. In order
to do what you are trying to do, you are going to need to have 2 JVMs
running at the same time. So if you want them controlled by the Wrapper
that is going to mean 2 copies of the Wrapper.
The Wrapper will have no problems having 2 copies of itself running at
the same time.
The following is an idea (untested)
Create two shell scripts that are copies of the one provided by the
Wrapper
called serverA.sh and serverB.sh. These will be used to control each of 2
Wrapper invocations. Modify them to have different app names and this
different pid file names as well. They also need to be modified to
point to two
config files wrapperA.conf and wrapperB.conf. Each of these config files
will do nothing but include the main wrapper.conf file AND declare their
own log files wrapperA.log and wrapperB.log.
wrapperA.conf
# paths relative to the location of the wrapper binary
#include ../conf/wrapper.conf
wrapper.logfile=../logs/wrapperA.log
wrapperB.conf
#include ../conf/wrapper.conf
wrapper.logfile=../logs/wrapperB.log
You should now be able to control each of the servers as single apps.
Once one is running, it will restart itself if it fails due to an error.
Now for the work. Create a new shell script that accepts all of the
command arguments accepted by the wrapper shell scripts.
The first thing that this new script will do is to check for the
existence
of a serverA.pid and/or serverB.pid file.
If you call the script with the "start" command, it should give an error
if either pid exists. Otherwise it will always call "start" on the serverA
script.
If "stop" is called, it will call "stop" on serverA and/or serverB
scripts.
If "dump" is called, it will call "stop" on serverA and/or serverB
scripts.
If "restart" is called then it will give and error if both the
serverA.pid and
serverB.pid exist. If only one exists, then "stop" will be called on
that script
and "start" will be called on the other.
This should work fairly well for you. By calling restart, you will
be able
to reload your application on demand and keep the second copy running
until it can be shutdown. But if the active JVM crashes in the middle
of the
night, it will be restarted by its controlling Wrapper.
> That would be the port number? Your code seem to verify that the port
> is free and then increment, if not I can have the script increment it
> within a range
Actually, as of version 3.0.4, manual use of the wrapper.port property is
deprecated. If you still have it in your wrapper.conf file, you should
remove
it.
I was referring to the wrapper.log file as well as any resources used by
your
application. You will still have to be careful about those on your
own. Take
advantage of the wrapperA.conf and wrapperB.conf files to set different
system properties etc.
> I know I'm stretching the purpose a bit but I really like to adopt
> Wrapper for my app. Thanks for your help!
That is why the Wrapper has continued to grow. While I have used several
newer features once they were implemented. The Wrapper pretty much did what
I needed a year a go. I am always amazed at some of the ideas that
users come
up with. It is a tribute to the benefits of opening up a project.
There is a definite
large cost in time and thus money to support users for free (Offset by
generous
donations from users that want say thanks. Hint hint :-D) But there
are also
benefits from having so many users look at the code. I had to support a
user on
Solaris last year. I personally only have used Linux and Windows so it
would
have involved a huge investment in testing before I could have used it.
But thanks
to the user base and their experience with using the Solaris version, I
knew that
it could be relied on.
Cheers
Leif
|
|
From: Ole C. M. <ome...@sl...> - 2003-10-28 08:13:04
|
At 08:37 28.10.2003, Leif Mortenson wrote: >Ole, > >>When I read the docs this looked promising, but I have another >>requirement that I did not mention. I need to the restart action to work >>as well and I assume by using signalStopping I would not get the fresh >>server started until the previous stop action has completed satisfactory? > >True. The Wrapper does not allow a second JVM process to be launched >until the first >JVM process has been terminated one way or another. This is critical for most >applications to prevent conflicts with memory, ports and other resources. >It would also be quite a bit more difficult for the Wrapper to manage >multiple JVMs >at once. > >>>long periods of time after the JVM has been requested to exit is not the >>>norm. The >>>Wrapper supports it, but there are not many examples out there. >> >> Let me know if you have any questions. Allowing the JVM to run for >> relatively >> >>I understand, and I would not have implemented the server the way it is >>if I had a say, but it is a legacy app and hard to fix. The basic problem >>is that the server initializes it self with a lot of metadata from a >>database. It is not possible to reinitialize, one needs to restart the >>server. Since we use rmiregistry and stateful connections it is very easy >>to signal the running server to deregister and then register the new >>server. The previous server will then make sure to exit when all clients >>are logged off. Works smoothly. >> >>I'm not giving up just yet, so how will the wrapper like it if I change >>the script to do the following on the stop action: >> >>1. Execute my own command: >>java SignalDeRegister server-name >>2. Delete the pid file >> >>Will the subsequent start continue ok since the pid file is gone or will >>it contact ports to find an existing wrapper process? When the server >>decides it is time to close how can I signal the wrapper that the close >>is fine and there is no need to restart? System.exit(0)? > >This will not work because the pid file is for the Wrapper process and not >the JVM. >Deleting the PID will allow you to launch a separate copy of the Wrapper >which would >in turn in launch its own JVM. You will most likely run into problems >here as both >would be trying to access some of the same resources because they use the same >wrapper.conf file. That would be the port number? Your code seem to verify that the port is free and then increment, if not I can have the script increment it within a range The logfile can become muddled as well but I guess I can fix that by setting it to be something-timeofstart.log when invoking? If the JVM can make sure that the wrapper dies with it shouldn't be ok to have to wrapper running at the same time? I probably need to disable the automatic restarting, can I do that dynamically when I get the stop signal in my JVM? By using the signalStopping method? >What is preventing you from shutting down JVM instance 1 cleanly and then >restarting the >second JVM instance normally? Are you concerned about the period of time >where the >JVM is down? Key point is to not interrupt client applications by killing the existing server. The client app is about data access operations, building transactions and so on, so the current mode of operation is to notify the user that a fresh server is started but allow for them to complete what their doing and switch when it suits them. This then avoids us having to move the stateful connections from the old server to the new. Restarting is a fairly frequent thing as it is the only way to refresh all the metadata we have stored in a database. Like I mentioned before this is legacy app so this all works smoothly, and is also not something I can easily fix. I would have liked to take advantage of your cross platform scripts, nice config mechanism and the ability to protect the running server with your monitoring functionality, but alas.... >If you managed to get two JVMs running at the same time, you are going to >have lots of >timing issues trying to get them to switch over control. > >Sorry if I am missing what you are trying to do. Explain enough and I >will catch on >eventually. :-). I know I'm stretching the purpose a bit but I really like to adopt Wrapper for my app. Thanks for your help! olec >Cheers, >Leif > > > > >------------------------------------------------------- >This SF.net email is sponsored by: The SF.net Donation Program. >Do you like what SourceForge.net is doing for the Open >Source Community? Make a contribution, and help us add new >features and functionality. Click here: http://sourceforge.net/donate/ >_______________________________________________ >Wrapper-user mailing list >Wra...@li... >https://lists.sourceforge.net/lists/listinfo/wrapper-user ---- Ole Christian Meldahl Information Management Development - Stavanger Schlumberger Information Solutions mailto: ome...@sl... +47 5194 6736 |
|
From: Leif M. <le...@ta...> - 2003-10-28 07:38:34
|
Ole, > When I read the docs this looked promising, but I have another > requirement that I did not mention. I need to the restart action to > work as well and I assume by using signalStopping I would not get the > fresh server started until the previous stop action has completed > satisfactory? True. The Wrapper does not allow a second JVM process to be launched until the first JVM process has been terminated one way or another. This is critical for most applications to prevent conflicts with memory, ports and other resources. It would also be quite a bit more difficult for the Wrapper to manage multiple JVMs at once. >> long periods of time after the JVM has been requested to exit is not >> the norm. The >> Wrapper supports it, but there are not many examples out there. > > Let me know if you have any questions. Allowing the JVM to run for > relatively > > I understand, and I would not have implemented the server the way it > is if I had a say, but it is a legacy app and hard to fix. The basic > problem is that the server initializes it self with a lot of metadata > from a database. It is not possible to reinitialize, one needs to > restart the server. Since we use rmiregistry and stateful connections > it is very easy to signal the running server to deregister and then > register the new server. The previous server will then make sure to > exit when all clients are logged off. Works smoothly. > > I'm not giving up just yet, so how will the wrapper like it if I > change the script to do the following on the stop action: > > 1. Execute my own command: > java SignalDeRegister server-name > 2. Delete the pid file > > Will the subsequent start continue ok since the pid file is gone or > will it contact ports to find an existing wrapper process? When the > server decides it is time to close how can I signal the wrapper that > the close is fine and there is no need to restart? System.exit(0)? This will not work because the pid file is for the Wrapper process and not the JVM. Deleting the PID will allow you to launch a separate copy of the Wrapper which would in turn in launch its own JVM. You will most likely run into problems here as both would be trying to access some of the same resources because they use the same wrapper.conf file. What is preventing you from shutting down JVM instance 1 cleanly and then restarting the second JVM instance normally? Are you concerned about the period of time where the JVM is down? If you managed to get two JVMs running at the same time, you are going to have lots of timing issues trying to get them to switch over control. Sorry if I am missing what you are trying to do. Explain enough and I will catch on eventually. :-). Cheers, Leif |
|
From: Leif M. <le...@ta...> - 2003-10-28 07:16:24
|
Alan, Is there any reason why you are placing your personal jar files into the jre/lib/ext directory? Normally that is not a good idea. Jars in that directory are considered to be privileged / trusted jars that always have full security permissions. The problem is that you have placed the wrapper.jar file into a non privileged directory "../lib/wrapper.jar" I believe that is what is happing is that the Wrapper, which is unprivileged code is attempting to create a class that is privileged. Depending on the security manager this may be causing the problems you are seeing. Normally you should place your custom classes / jar files into an application lib directory as you have done with the wrapper.jar file. All of the jars in that directory are then included in the classpath. The Wrapper makes this easy by allowing you to specify a wild card: wrapper.java.classpath.1=../lib/*.jar If this does not work, then please explain a little more about your application and why you have set things up the way you have. Also let me know if you are setting a SecurityManager someplace in your code. Cheers, Leif Parry, Alan wrote: > Hi, > > I'm using the WrapperSimpleApp method of starting my java service and > when running the Console batch file I receive the following error > message (see below). I receive the same error when attempting to start > as a NT service. > > I have declared the class public (also attached below), see below and > am unsure of what else could be stopping the Wrapper from accessing my > class, which runs comfortably when called by its own main method. > > Does anyone have any experience with this error message and a possible > fix? I have jar'ed the classes in my application and placed them in > jre/lib/ext and am wondering if more needs to be done before this > mechanism will function correctly. > > Many Thanks, > > Alan Parry > |
|
From: Leif M. <le...@ta...> - 2003-10-28 07:04:43
|
Sal and others,
Sorry for the multiple posts. It appears that my mail server was
not playing nice with
the SF mail servers for some reason. I am still unsure of the cause but
from my logs
everything appears to have been working correctly on my end.
The SF mail servers appear to have been under extreme load for a few
days. My logs
were filled with temporary failure messages about there being too many
SMTP users
connected to the SF mail servers. My mail server would then dutifully
wait the
appropriate amount of time and then try again. The problem was that
for some strange
reason, the SF servers appear to have been accepting the messages each
time even
though my server was told that the message was rejected.
At the same time there was a delay of several hours before the
individual messages
were showing up on the list. I was thus not able to notice what was
happening for a
while. Once I saw what was happening I deleted the mail files from my
local spool.
I have posted a few other mails since and the problem appears to
have gone away.
There had been no changes on my end for several months, so hopefully
the problem
does not reoccur.
Cheers,
Leif
Sal Ingrilli wrote:
>i've received this reply from leif 8 times after the original on 10/23
>8:16pm. here are these times:
>10/23 8:59pm
>10/23 9:30pm
>10/23 10:11pm
>10/23 10:24pm
>10/23 10:44pm
>10/23 11:00pm
>10/23 11:15pm
>10/24 1:00am
>10/24 1:57am
>10/24 2:20am
>10/24 7:05am
>
>i've also received the "Unable to run script on Solaris 8" reply from leif
>several times.
>
>?
>
>-----Original Message-----
>From: wra...@li...
>[mailto:wra...@li...]On Behalf Of Leif
>Mortenson
>Sent: Thursday, October 23, 2003 8:16 PM
>To: wra...@li...
>Subject: Re: [Wrapper-user] How do you dump a process which runs as a
>service ( win2k )?
>
>
>Robert,
> There are a number of ways to invoke a thread dump.
>1) Using the WrapperActionServer class (see javadocs) It lets you
>connect via telnet to
>execute commands. Drawback is that it requires a little bit of coding.
>
>2) Use the WrapperManager.requestThreadDump(). Since you are using a JSP
>container, you can probably just create a little JSP page which
>contains the following:
><% org.tanukisoftware.wrapper.WrapperManager.requestThreadDump(); %>
>
>3) Use JMX. There are even instructions for getting it working with
>JBoss. This is
>probably the easiest.
>http://wrapper.tanukisoftware.org/doc/english/jmx.html
>
>Cheers,
>Leif
>
>Augustyn, Robert non Unisys wrote:
>
>
>
>>Hi,
>>I have a process ( jboss ) running as a service under wrapper.
>>This process sometimes is starting to use 50% cpu on a large box.
>>There is nothing going on inside jboss as far as I can tell.
>>I am trying to dump the java process and see if I can find anything in the
>>dump.
>>Question:
>>How do I dump java service?
>>Is there a better way of debugging problem like mine?
>>robert
>>
>>
>>
>>
>
>
>
>
>-------------------------------------------------------
>This SF.net email is sponsored by: The SF.net Donation Program.
>Do you like what SourceForge.net is doing for the Open
>Source Community? Make a contribution, and help us add new
>features and functionality. Click here: http://sourceforge.net/donate/
>_______________________________________________
>Wrapper-user mailing list
>Wra...@li...
>https://lists.sourceforge.net/lists/listinfo/wrapper-user
>
>
>
>
>-------------------------------------------------------
>This SF.net email is sponsored by: The SF.net Donation Program.
>Do you like what SourceForge.net is doing for the Open
>Source Community? Make a contribution, and help us add new
>features and functionality. Click here: http://sourceforge.net/donate/
>_______________________________________________
>Wrapper-user mailing list
>Wra...@li...
>https://lists.sourceforge.net/lists/listinfo/wrapper-user
>
>
>
|
|
From: Leif M. <le...@ta...> - 2003-10-28 03:31:46
|
Jimmy,
From the error message, by guess is that the java executable is not
being found
when run as a service. The way to quickly solve problems like this is
to set the
wrapper.debug=true property and attempt to start your service again.
In most
cases, it will then be obvious what the problem is. If you could post
the resulting
DEBUG output from a single invocation of the Wrapper, I should be able to
tell you what the problem is.
Make sure that the JAVA_HOME and JWrapperPath environment variables
have been defined as system level environment variables.
Cheers,
Leif
Jimmy Chu wrote:
>Hi,
>
>I followed the example of implementing the wrapperListener interface. I
>tested it first in console mode and experienced no problem (The wrapper
>created the instance, started it, and finally stopped it). Then I
>registered it as service using -i flag and started it using the -t flag.
>But when I started the service, it gave me the error message of:
>
>wrapper | Starting the Jimmy Chu Sample Application service...
>wrapper | The Jimmy Chu Sample Application service was launched, but
>failed to
>start.
>
>Any help is greatly appreciated!
>
>My sample app. is as followed:
>
>//========== myApp.java =====================
>import org.tanukisoftware.wrapper.WrapperManager;
>import org.tanukisoftware.wrapper.WrapperListener;
>
>public class myApp implements WrapperListener {
>
> public myApp() {
> System.out.println("Creating me...");
> }
>
> public Integer start( String[] args ) {
> System.out.println("I am starting");
> return null;
> }
>
> public int stop( int exitCode ) {
> System.out.println("I am stopping");
> return exitCode;
> }
>
> public void controlEvent( int event )
> {
> if (WrapperManager.isControlledByNativeWrapper()) {
> // The Wrapper will take care of this event
> } else {
> // We are not being controlled by the Wrapper, so
> // handle the event ourselves.
> if ((event == WrapperManager.WRAPPER_CTRL_C_EVENT) ||
> (event == WrapperManager.WRAPPER_CTRL_CLOSE_EVENT) ||
> (event == WrapperManager.WRAPPER_CTRL_SHUTDOWN_EVENT)){
> WrapperManager.stop(0);
> }
> }
> }
>
> public static void main(String[] args) {
> WrapperManager.start( new myApp(), args);
> }
>}
>
>#==============wrapper.conf===================
>wrapper.java.command=%JAVA_HOME%/bin/java
>wrapper.java.mainclass=myApp
>wrapper.java.classpath.1=./wrapper.jar
>wrapper.java.classpath.2=.
>wrapper.java.library.path.1=%JWrapperPath%/lib
>wrapper.java.initmemory=3
>wrapper.java.maxmemory=64
>
>wrapper.ntservice.name=TESTINGMYAPP
>wrapper.ntservice.displayname=Jimmy Chu Sample Application
>wrapper.ntservice.description=Jimmy Chu Service Description
>
>Jimmy Chu
>
>
>-------------------------------------------------------
>This SF.net email is sponsored by: The SF.net Donation Program.
>Do you like what SourceForge.net is doing for the Open
>Source Community? Make a contribution, and help us add new
>features and functionality. Click here: http://sourceforge.net/donate/
>_______________________________________________
>Wrapper-user mailing list
>Wra...@li...
>https://lists.sourceforge.net/lists/listinfo/wrapper-user
>
>
>
|
|
From: Jimmy C. <ji...@te...> - 2003-10-28 00:34:50
|
Hi,
I followed the example of implementing the wrapperListener interface. I
tested it first in console mode and experienced no problem (The wrapper
created the instance, started it, and finally stopped it). Then I
registered it as service using -i flag and started it using the -t flag.
But when I started the service, it gave me the error message of:
wrapper | Starting the Jimmy Chu Sample Application service...
wrapper | The Jimmy Chu Sample Application service was launched, but
failed to
start.
Any help is greatly appreciated!
My sample app. is as followed:
//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D myApp.java =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
import org.tanukisoftware.wrapper.WrapperManager;
import org.tanukisoftware.wrapper.WrapperListener;
public class myApp implements WrapperListener {
=09
public myApp() {
System.out.println("Creating me...");
}
=09
public Integer start( String[] args ) {
System.out.println("I am starting");
return null;
}
=09
public int stop( int exitCode ) {
System.out.println("I am stopping");
return exitCode;
}
public void controlEvent( int event )
{
if (WrapperManager.isControlledByNativeWrapper()) {
// The Wrapper will take care of this event
} else {
// We are not being controlled by the Wrapper, so
// handle the event ourselves.
if ((event =3D=3D WrapperManager.WRAPPER_CTRL_C_EVENT) ||
(event =3D=3D WrapperManager.WRAPPER_CTRL_CLOSE_EVENT) =
||
(event =3D=3D =
WrapperManager.WRAPPER_CTRL_SHUTDOWN_EVENT)){
WrapperManager.stop(0);
}
}
}
public static void main(String[] args) {
WrapperManager.start( new myApp(), args);
}
}
#=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3Dwrapper.conf=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
wrapper.java.command=3D%JAVA_HOME%/bin/java
wrapper.java.mainclass=3DmyApp
wrapper.java.classpath.1=3D./wrapper.jar
wrapper.java.classpath.2=3D.
wrapper.java.library.path.1=3D%JWrapperPath%/lib
wrapper.java.initmemory=3D3
wrapper.java.maxmemory=3D64
wrapper.ntservice.name=3DTESTINGMYAPP
wrapper.ntservice.displayname=3DJimmy Chu Sample Application
wrapper.ntservice.description=3DJimmy Chu Service Description
Jimmy Chu
|
|
From: Ole C. M. <ome...@sl...> - 2003-10-27 08:49:10
|
At 17:54 24.10.2003, Leif Mortenson wrote: >Ole, > Assuming that you have a way of telling when the JVM will really be > ready to exit, >there are a few ways to do this. > > The easiest would be to register a shutdown thread which is started > when the JVM >starts to shutdown. It would then continue to run until all of your >clients have >completed. > > The problem (feature) is that the Wrapper will by default kill the JVM > after about >30 seconds. To prevent this, you will need to tell the Wrapper that the >JVM needs >more time. > One way of doing this is to extend the shutdown timeout in the > wrapper.conf file. >This has the drawback of not knowing if the JVM needs more time or is >really hung >on shutdown however. > A better method would be to have your shutdown loop call >WrapperManager.signalStopping( Nms ); Each time this method is called, the >Wrapper will be sure to allow that much time before the Wrapper gives up >and kills >the JVM. > So if your shutdown thread calls WrapperManager.signalStopping( 30000 > ) every >10 seconds or so, the JVM would always quit within 30 seconds of your shutdown >hook completing even if the JVM got stuck for some reason. When I read the docs this looked promising, but I have another requirement that I did not mention. I need to the restart action to work as well and I assume by using signalStopping I would not get the fresh server started until the previous stop action has completed satisfactory? > Let me know if you have any questions. Allowing the JVM to run for > relatively >long periods of time after the JVM has been requested to exit is not the >norm. The >Wrapper supports it, but there are not many examples out there. I understand, and I would not have implemented the server the way it is if I had a say, but it is a legacy app and hard to fix. The basic problem is that the server initializes it self with a lot of metadata from a database. It is not possible to reinitialize, one needs to restart the server. Since we use rmiregistry and stateful connections it is very easy to signal the running server to deregister and then register the new server. The previous server will then make sure to exit when all clients are logged off. Works smoothly. I'm not giving up just yet, so how will the wrapper like it if I change the script to do the following on the stop action: 1. Execute my own command: java SignalDeRegister server-name 2. Delete the pid file Will the subsequent start continue ok since the pid file is gone or will it contact ports to find an existing wrapper process? When the server decides it is time to close how can I signal the wrapper that the close is fine and there is no need to restart? System.exit(0)? Thanks for your help! olec >Cheers, >Leif > > >Ole Christian Meldahl wrote: > >> >>My application is an RMI server that I want to put under Wrapper (great >>tool btw) >> >>I do have on problem, currently we stopping the server will >>1. Block further connections >>2. Unregister from rmiregistry >>3. Stay alive until no more current clients >>4. Shutdown JVM >> >>Is it possible to mimic this so that the >>myapp stop >>command will only execute the shutdown method and then leave the JVM >>running until it decides on it self to go down? >> >>olec > > > > > >------------------------------------------------------- >This SF.net email is sponsored by: The SF.net Donation Program. >Do you like what SourceForge.net is doing for the Open >Source Community? Make a contribution, and help us add new >features and functionality. Click here: http://sourceforge.net/donate/ >_______________________________________________ >Wrapper-user mailing list >Wra...@li... >https://lists.sourceforge.net/lists/listinfo/wrapper-user ---- Ole Christian Meldahl Information Management Development - Stavanger Schlumberger Information Solutions mailto: ome...@sl... +47 5194 6736 |
|
From: Sal I. <sal...@sy...> - 2003-10-25 21:03:07
|
i've received this reply from leif 8 times after the original on 10/23
8:16pm. here are these times:
10/23 8:59pm
10/23 9:30pm
10/23 10:11pm
10/23 10:24pm
10/23 10:44pm
10/23 11:00pm
10/23 11:15pm
10/24 1:00am
10/24 1:57am
10/24 2:20am
10/24 7:05am
i've also received the "Unable to run script on Solaris 8" reply from leif
several times.
?
-----Original Message-----
From: wra...@li...
[mailto:wra...@li...]On Behalf Of Leif
Mortenson
Sent: Thursday, October 23, 2003 8:16 PM
To: wra...@li...
Subject: Re: [Wrapper-user] How do you dump a process which runs as a
service ( win2k )?
Robert,
There are a number of ways to invoke a thread dump.
1) Using the WrapperActionServer class (see javadocs) It lets you
connect via telnet to
execute commands. Drawback is that it requires a little bit of coding.
2) Use the WrapperManager.requestThreadDump(). Since you are using a JSP
container, you can probably just create a little JSP page which
contains the following:
<% org.tanukisoftware.wrapper.WrapperManager.requestThreadDump(); %>
3) Use JMX. There are even instructions for getting it working with
JBoss. This is
probably the easiest.
http://wrapper.tanukisoftware.org/doc/english/jmx.html
Cheers,
Leif
Augustyn, Robert non Unisys wrote:
>Hi,
>I have a process ( jboss ) running as a service under wrapper.
>This process sometimes is starting to use 50% cpu on a large box.
>There is nothing going on inside jboss as far as I can tell.
>I am trying to dump the java process and see if I can find anything in the
>dump.
>Question:
>How do I dump java service?
>Is there a better way of debugging problem like mine?
>robert
>
>
-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community? Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/
_______________________________________________
Wrapper-user mailing list
Wra...@li...
https://lists.sourceforge.net/lists/listinfo/wrapper-user
|
|
From: Augustyn, R. n. U. <rob...@un...> - 2003-10-25 18:06:59
|
Thanks a lot.
robert
-----Original Message-----
From: wra...@li...
[mailto:wra...@li...]On Behalf Of Leif
Mortenson
Sent: Thursday, October 23, 2003 11:16 PM
To: wra...@li...
Subject: Re: [Wrapper-user] How do you dump a process which runs as a
service ( win2k )?
Robert,
There are a number of ways to invoke a thread dump.
1) Using the WrapperActionServer class (see javadocs) It lets you=20
connect via telnet to
execute commands. Drawback is that it requires a little bit of coding.
2) Use the WrapperManager.requestThreadDump(). Since you are using a =
JSP
container, you can probably just create a little JSP page which=20
contains the following:
<% org.tanukisoftware.wrapper.WrapperManager.requestThreadDump(); %>
3) Use JMX. There are even instructions for getting it working with=20
JBoss. This is
probably the easiest.
http://wrapper.tanukisoftware.org/doc/english/jmx.html
Cheers,
Leif
Augustyn, Robert non Unisys wrote:
>Hi,
>I have a process ( jboss ) running as a service under wrapper.
>This process sometimes is starting to use 50% cpu on a large box.
>There is nothing going on inside jboss as far as I can tell.
>I am trying to dump the java process and see if I can find anything in =
the
>dump.
>Question:
>How do I dump java service?
>Is there a better way of debugging problem like mine?
>robert
> =20
>
-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community? Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/
_______________________________________________
Wrapper-user mailing list
Wra...@li...
https://lists.sourceforge.net/lists/listinfo/wrapper-user
|
|
From: Sal I. <sal...@sy...> - 2003-10-25 03:22:00
|
Can't browse to NT service using wrapperI suggest you look at wrapper.log and the catalina log files for any errors. At any rate, here is the wrapper 3.0.2 wrapper.conf we use to run catalina. Note that we place wrapper.exe in the jakarta-tomcat-4.0.1/bin directory and wrapper.conf in the jakarta-tomcat-4.0.1/conf directory. Good luck. #******************************************************************** # Wrapper parameters #******************************************************************** # Java Application wrapper.java.command=java.exe # Java Main class wrapper.java.mainclass=com.silveregg.wrapper.WrapperSimpleApp # Java Classpath (include wrapper.jar) Add class path elements as # needed starting from 1 wrapper.java.classpath.1=../bin/bootstrap.jar wrapper.java.classpath.2=../bin/resources wrapper.java.classpath.3=../bin wrapper.java.classpath.4=../common/lib/*.jar wrapper.java.classpath.5=../lib/wrapper.jar wrapper.java.classpath.6=../../jdk/lib/tools.jar ## Java Library Path (location of Wrapper.DLL or libwrapper.so) # Tomcat dll's wrapper.java.library.path.1=../bin # Wrapper dll's wrapper.java.library.path.2=../lib #jre dll's wrapper.java.library.path.3=../../jdk/lib wrapper.java.library.path.4=../../jdk/bin # Java Additional Parameters wrapper.java.additional.1=-Dcatalina.base=.. wrapper.java.additional.2=-Dcatalina.home=.. wrapper.java.additional.3=-Dcom.syncvoice.commons.logging.logger.class=com.s yncvoice.commons.logging.logger.Log4JLogger wrapper.java.additional.4=-Dorg.xml.sax.driver=org.apache.xerces.parsers.SAX Parser wrapper.java.additional.5=-Djavax.net.ssl.trustStore=../../supportWatchdog/e tc/.keystore wrapper.java.additional.6=-Dsun.net.inetaddr.ttl=86400 # Initial Java Heap Size (in MB) wrapper.java.initmemory=48 # Maximum Java Heap Size (in MB) wrapper.java.maxmemory=1024 # Application parameters. Add parameters as needed starting from 1 wrapper.app.parameter.1=org.apache.catalina.startup.Bootstrap wrapper.app.parameter.2=start # Port which the native wrapper code will attempt to connect to wrapper.port=1778 #******************************************************************** # Wrapper Logging parameters #******************************************************************** # 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=INFO # Log file to use for wrapper output logging. wrapper.logfile=../../logs/appServer/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=1m # 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=10 # Log Level for sys/event log output. (See docs for log levels) wrapper.syslog.loglevel=NONE #******************************************************************** # Wrapper NT Service parameters #******************************************************************** # WARNING - Do not modify any of these parameters 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=VXTrackerApplicationServer # Display name of the service wrapper.ntservice.displayname=VXTrackerApplicationServer # Description of the service wrapper.ntservice.description=VXTrackerApplicationServer # Service dependencies. Add dependencies as needed starting from 1 wrapper.ntservice.dependency.1=MySql # Mode in which the service is installed. AUTO_START or DEMAND_START wrapper.ntservice.starttype=AUTO_START # Priority at which the service is run. NORMAL, LOW, HIGH, or # REALTIME wrapper.ntservice.process_priority=NORMAL # Allow the service to interact with the desktop. wrapper.ntservice.interactive=true -----Original Message----- From: wra...@li... [mailto:wra...@li...]On Behalf Of Hardee, Brenda G NAVSAFECEN Sent: Friday, October 24, 2003 11:42 AM To: wra...@li... Subject: [Wrapper-user] Can't browse to NT service using wrapper I recently installed wrapper ver 3.0.5 for win32 on a win2000 box. I used it to install Tomcat4.0 Servlet/JSP container as a service so that the tomcat app would not have to run minimized. I cannot browse (using i.e.) to Tomcat when running it as a service. If I run Tomcat from the startup script I can browse to it. Yes, I HAVE checked to be sure the service is running and it is set to automatic. Can anyone give me some help? |
|
From: Leif M. <le...@ta...> - 2003-10-25 03:07:10
|
Ole,
Assuming that you have a way of telling when the JVM will really be
ready to exit,
there are a few ways to do this.
The easiest would be to register a shutdown thread which is started
when the JVM
starts to shutdown. It would then continue to run until all of your
clients have
completed.
The problem (feature) is that the Wrapper will by default kill the
JVM after about
30 seconds. To prevent this, you will need to tell the Wrapper that the
JVM needs
more time.
One way of doing this is to extend the shutdown timeout in the
wrapper.conf file.
This has the drawback of not knowing if the JVM needs more time or is
really hung
on shutdown however.
A better method would be to have your shutdown loop call
WrapperManager.signalStopping( Nms ); Each time this method is called, the
Wrapper will be sure to allow that much time before the Wrapper gives up
and kills
the JVM.
So if your shutdown thread calls WrapperManager.signalStopping(
30000 ) every
10 seconds or so, the JVM would always quit within 30 seconds of your
shutdown
hook completing even if the JVM got stuck for some reason.
Let me know if you have any questions. Allowing the JVM to run for
relatively
long periods of time after the JVM has been requested to exit is not the
norm. The
Wrapper supports it, but there are not many examples out there.
Cheers,
Leif
Ole Christian Meldahl wrote:
>
> My application is an RMI server that I want to put under Wrapper
> (great tool btw)
>
> I do have on problem, currently we stopping the server will
> 1. Block further connections
> 2. Unregister from rmiregistry
> 3. Stay alive until no more current clients
> 4. Shutdown JVM
>
> Is it possible to mimic this so that the
> myapp stop
> command will only execute the shutdown method and then leave the JVM
> running until it decides on it self to go down?
>
> olec
|
|
From: Hardee, B. G N. <bre...@na...> - 2003-10-24 18:46:09
|
I recently installed wrapper ver 3.0.5 for win32 on a win2000 box. I = used it to install Tomcat4.0 Servlet/JSP container as a service so that = the tomcat app would not have to run minimized. I cannot browse (using = i.e.) to Tomcat when running it as a service. If I run Tomcat from the = startup script I can browse to it. Yes, I HAVE checked to be sure the = service is running and it is set to automatic. Can anyone give me some = help? |
|
From: Ole C. M. <ome...@sl...> - 2003-10-24 15:35:18
|
My application is an RMI server that I want to put under Wrapper (great tool btw) I do have on problem, currently we stopping the server will 1. Block further connections 2. Unregister from rmiregistry 3. Stay alive until no more current clients 4. Shutdown JVM Is it possible to mimic this so that the myapp stop command will only execute the shutdown method and then leave the JVM running until it decides on it self to go down? olec ---- Ole Christian Meldahl Information Management Development - Stavanger Schlumberger Information Solutions mailto: ome...@sl... +47 5194 6736 |
|
From: Leif M. <le...@ta...> - 2003-10-24 12:22:12
|
Yasir,
Sorry I hadn't yet gotten back to you. Line feeds were my next
guess. Glad you got
that part working.
First a question from me. :-) I don't have all that much experience
with Solaris, and
my past requests had gone unanswered. Do you know enough about Solaris
to be able
to tell me whether or not my instructions for getting the Wrapper
installed to boot on
startup are correct. I know that it works, but I am especially unsure
about the boot
order numbers for the various run levels. The values that I described
are good defaults
for Linux, but they may need to be different for Solaris.
Now on to your question. The short answer is that that is a
difficult problem with
all applications that start on bootup on UNIX machines. In general,
applications that
start at boot up should not require access to a DISPLAY as it will in
general not be
available. This is very different from the Windows world.
In many cases, a DISPLAY will only be made available for users
connecting
from a remote terminal for example.
If it only makes sense to run your application in an environment
where a DISPLAY
is available, then you should be launching it when a user logs in to X
Windows rather
than when the system boots.
Often you will want to have the program running "headless" in the
background and
then display a GUI when a user logs on. You get this behavior for free
on Windows
when installing as an NT service. On UNIX however, due to a number of
reasons,
including security issues, this is not really possible. To get around
this, you would
create a second application that is launched manually or when the user
logs on. This
second application would then connect to the first headless app and act
as its GUI.
Yes, I know it is complicated. But those are the only ways that I
know to
accomplish what you are asking. As I said, this is true for all UNIX
apps and does
not really have anything to do with the Wrapper.
One idea (untested) would be to try to set the DISPLAY variable
manually when
launching the Wrapper (or JVM via a setting in the wrapper.conf). You
could then
have your application attempt to show its display. If it fails, you
would catch the
exception that you saw, then wait for 30 seconds or so. Then call
WrapperManager.restart(). When the JVM restarted it would once again
attempt
to show its GUI. If the user had logged on by then the GUI may come
up. This is
a guess however. There may be something else that will prevent this
from working.
Please post back with any results and of course with any solution
that you may
come up with. I, and I'm sure others, would be interested in hearing them.
Cheers,
Leif
Yasir Khan wrote:
> Hi,
>
> My problem "Unable to run start script on Solaris 8" is solved and I
> am able to run the script successfully. The problem was that I edited
> the script on Windows 2000 system and then copied it to the Solaris 8
> system. And due to the difference in 'new line' character in Windows
> and Solaris the script is corrupted and is failed when run on Solaris.
> When I edited the script on Solaris system, it started working fine. :-)
>
> Now I have created the proper symbolic links according to
> documentation to start my application automatically on Solaris reboot.
> Things starts working fine on reboot but when GUI display code is
> executed the application crashes, there might be the reason (that I
> can guess from the error message) that X Window Server is not started
> at the time when my application tried to display GUI. Now how can I
> fix my problem ... ?
>
> Following are the commands that I used to create symbolic links [tf is
> the name of application and the script].
>
> ln -s /usr/tf/tf /etc/init.d/tf
> ln -s /etc/init.d/tf /etc/rc0.d/K20tf
> ln -s /etc/init.d/tf /etc/rc1.d/K20tf
> ln -s /etc/init.d/tf /etc/rc2.d/S20tf
> ln -s /etc/init.d/tf /etc/rc3.d/S20tf
>
> I am copying here the wrapper and application logs to explain the
> problem.
>
> >>> I set the log level in wrapper.conf to DEBUG, following is the
> output of wrapper.log
<snip>
|