RE: Checking server running in Java Josh Sherman 18.Sep.14 01:18 PM Lotus Notes Applications Development 7.0.3 FP1Windows 2003
If the server that you are checking is a Domino server, you can use the getDatabase method of Session class. Use a system database, such as names.nsf, as the target. The method will return 'null' if the third parameter passed to it is set to false and the database cannot be opened (because the server is down).
If the server is a non-Domino server, then use non-Domino Java classes to do the check. Search the web for "java check server availability" for examples of that.
In either case, you would want to have your check inside a piece of code that loops until the check returns true or a certain amount of time has passed. You should add a pause between checks (java.lang.Thread.sleep). The amount of time that you allow your code to loop for should be less than the maximum run time limit that you have set for agents. Also, be aware that while you code is looping, the Agent Manager executive that is running it will not be processing any other agents on the server, and no other Agent Manager executives will be able to process any scheduled agents in the same database as your looping agent.
In other words, be careful when designing something like this that you don't adversely impact all of the other agents running on your server.