Add the servlet in your web.xml.
<servlet> <display-name>UnlockServlet</display-name> <servlet-name>UnlockServlet</servlet-name> <servlet-class>nl.amits.javacustom.servlets.UnlockServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
(you can do this also in design mode ofcourse)
The java code:
package nl.amits.javacustom.servlets;import com.ibm.javart.JavartException;import com.ibm.javart.calls.PowerServer;import com.ibm.javart.calls.PowerServerImpl;import java.util.Timer;import java.util.TimerTask;import javax.servlet.http.HttpServlet;import nl.amits.adis.javawrap.UnlockProgramWrapper;public class UnlockServlet extends HttpServlet { private static final long serialVersionUID = -7218615493958066258L; public UnlockServlet() { Timer timer = new Timer(); Task task = new Task(); // task every 4 minutes timer.schedule(task, 0, 240000); }}class Task extends TimerTask { public void run() { PowerServer server = new PowerServerImpl(); try { UnlockProgramWrapper wrapper = new UnlockProgramWrapper(server); wrapper.call(); server.commit(); server.close(); } catch (JavartException je) { // handle error. je.printStackTrace(); } finally { try { if (server != null) { server.close(); } } catch (JavartException je) { } } }}
And the EGL code:
package nl.amits.adis.javawrap;program UnlockProgram type BasicProgram() { } function main() connected string; try sqlLib.connect("<jdbc url>", "database userid", "database password"); onException(a anyException) connected = "Connect test failed, " :: a.message; end syslib.writeStdout(connected); endend
Because the servlet is started independed, you have to connect the database this way.
Greetings, Jeroen.
Jerrycan