tengo una clase que toma un poco de tiempo para poner en marcha (hace algunos llamadas JNI y lo que no), por lo que no es factible para inicializar esta clase cada vez que se carga una página. ¿Es posible inicializar esta clase en el inicio de la aplicación y luego acceder a sus métodos a medida que se entregan las páginas?Tomcat Java Servlet - Clase Initialize en la Aplicación de inicio
Por ejemplo:
Tengo MyClass. Cuando la aplicación (Tomcat) se pone en marcha Me gustaría que initialze mi calss de la siguiente manera:
MyClass myClassInstance = new MyClass("arg1", "arg2");
Luego, cuando una página se llama, decir/testpage, me gustaría hacer llamadas a myClassInstance:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import MyClass;
public class TestPage extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
String myResult = myClassInstance.getResult("whatever");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Test</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>" +myResult +"</h1>");
out.println("</body>");
out.println("</html>");
}
}
¿Esto es posible?
Relacionados: http://stackoverflow.com/questions/3468150/using-init-servlet, http://stackoverflow.com/questions/3153739/config-files-for-a-webapplication-load-once-and -store-donde, http://stackoverflow.com/questions/5951294/is-there-a-way-to-do-something-on-a-j2ee-server-start-im-using-tomcat, etc – BalusC