I have an application that runs, not continuously but as a daily job, so I'll call it "the job" for clarity. I have added a Restlet service to the job to serve a dynamically generated web page showing the job's current status while it is running. This works well, but of course it shows nothing after the job terminates. When the job terminates, it writes a static HTML file with its final status to a directory.
What I'd like to do now is write a separate Restlet application providing a service that does this: 1. First tries to connect to the Restlet service in the running job, and returns the status it gets if it succeeds. 2. If it fails to connect because the job is not running, it returns the static HTML file that the most recent run of the job wrote out as it terminated. I can read the static file directly from the file system and return it as a StringReprsentation. This simplifies my code since I do not need a separate Directory service to serve the file. It also obviates the question I had about the URL to use to do this. I know that I can use a ClientResource to call the service that is part of the running job. If the connection fails, I can detect that by catching a ResourceException with a Status of 1001. That is the signal to return the static file instead. It would be nice if this new application could run in a servlet container such as Tomcat, but I might be able to run it as a standalone application if necessary. I have a general idea how to do this, but I am unsure of some of the details. Part of my problem is that it has been a long time since I have written a servlet or used a servlet container. I looked at the example in the old 1.0 FAQ, which helps some. Here are my questions. 1. It would be nice to provide the URL of the job's service through parameters or properties of some sort rather than hard coding it. I am guessing that the attributes map in the Restlet's Context could hold it. The question is how I get it there if I run the service in Tomcat. Could I put it in the web.xml file as a context-param? Is there a better way? 2. The TestServletApplication example from the FAQ is an Application having as an inbound root a Restlet that overrides handle directly. All the other examples I have done have been based on those from the Restlet tutorial where I use a main class to set up an Application with an inbound root as a Router to which I can attach subclasses of ServerResource that I write. I hope that approach will work here. 3. Just for fun, the question I bypassed by directly reading the file is what sort of URL I would use to read the HTML file from a Directory service. Would a "root-relative" URL such as "/statusfiles/laststatus.html" work? If the service is running in Tomcat, would I need to use the servlet prefix in the URL, or just the part that begins at the restlet level? I know that I don't really need to do this now, but I'm still curious about having the restlet call itself. Any thoughts or suggestions would be appreciated. Thanks, John ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2704658

