Hallo,
ich habe mit meiner Webanwendung ein paar kleine Probleme was die Servlets angeht. Beim Tomcatstart starte ich die folgenden Servlets als Listener:
[XML]
<!-- Cleans all locks on Tomcat start -->
<listener>
<listener-class>com.uds.webadmin.server.CServletCleanLocks</listener-class>
</listener>
<!-- Cleans dead files on Tomcat start -->
<listener>
<listener-class>com.uds.webadmin.server.CServletCleanFiles</listener-class>
</listener>
<!-- Sends all new contracts and riders via email to the promoters on Tomcat start -->
<listener>
<listener-class>com.uds.webadmin.server.CServletSendContractsAndRiders</listener-class>
</listener>
[/XML]
Soweit funktioniert dies auch. Mein Problem ist jetzt, dass Meine Application Jersey/Restful zum starten braucht. Die Servlets werden aber zuerst abgearbeitet und erst nachdem diese fertig sind, wird Jersey gestartet. Die Application ist dann ein paar Minuten für den Benutzer tot. Kann ich das so steuern, dass die Listener als Thread abgearbeitet werden und Jersey direkt startet? Jemand eine Idee?
Meine vollständige web.xml sieht wie folgt aus:
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>GBookingAdmin.html</welcome-file>
</welcome-file-list>
<display-name>BookingService</display-name>
<!-- RestWebservices -->
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<!-- Security -->
<security-constraint>
<web-resource-collection>
<web-resource-name>EmailService</web-resource-name>
<description>accessible by authenticated users of the user role</description>
<url-pattern>/rest/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<!-- FileUpload and FileDownload from / to application server -->
<servlet>
<servlet-name>FileHandler</servlet-name>
<servlet-class>com.uds.webadmin.server.CServletFile</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileHandler</servlet-name>
<url-pattern>/upload</url-pattern>
</servlet-mapping>
<!-- Cleans all locks on Tomcat start -->
<listener>
<listener-class>com.uds.webadmin.server.CServletCleanLocks</listener-class>
</listener>
<!-- Cleans dead files on Tomcat start -->
<listener>
<listener-class>com.uds.webadmin.server.CServletCleanFiles</listener-class>
</listener>
<!-- Sends all new contracts and riders via email to the promoters on Tomcat start -->
<listener>
<listener-class>com.uds.webadmin.server.CServletSendContractsAndRiders</listener-class>
</listener>
</web-app>
[/XML]
Danke und Gruß
Andy
ich habe mit meiner Webanwendung ein paar kleine Probleme was die Servlets angeht. Beim Tomcatstart starte ich die folgenden Servlets als Listener:
[XML]
<!-- Cleans all locks on Tomcat start -->
<listener>
<listener-class>com.uds.webadmin.server.CServletCleanLocks</listener-class>
</listener>
<!-- Cleans dead files on Tomcat start -->
<listener>
<listener-class>com.uds.webadmin.server.CServletCleanFiles</listener-class>
</listener>
<!-- Sends all new contracts and riders via email to the promoters on Tomcat start -->
<listener>
<listener-class>com.uds.webadmin.server.CServletSendContractsAndRiders</listener-class>
</listener>
[/XML]
Soweit funktioniert dies auch. Mein Problem ist jetzt, dass Meine Application Jersey/Restful zum starten braucht. Die Servlets werden aber zuerst abgearbeitet und erst nachdem diese fertig sind, wird Jersey gestartet. Die Application ist dann ein paar Minuten für den Benutzer tot. Kann ich das so steuern, dass die Listener als Thread abgearbeitet werden und Jersey direkt startet? Jemand eine Idee?
Meine vollständige web.xml sieht wie folgt aus:
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>GBookingAdmin.html</welcome-file>
</welcome-file-list>
<display-name>BookingService</display-name>
<!-- RestWebservices -->
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<!-- Security -->
<security-constraint>
<web-resource-collection>
<web-resource-name>EmailService</web-resource-name>
<description>accessible by authenticated users of the user role</description>
<url-pattern>/rest/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<!-- FileUpload and FileDownload from / to application server -->
<servlet>
<servlet-name>FileHandler</servlet-name>
<servlet-class>com.uds.webadmin.server.CServletFile</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileHandler</servlet-name>
<url-pattern>/upload</url-pattern>
</servlet-mapping>
<!-- Cleans all locks on Tomcat start -->
<listener>
<listener-class>com.uds.webadmin.server.CServletCleanLocks</listener-class>
</listener>
<!-- Cleans dead files on Tomcat start -->
<listener>
<listener-class>com.uds.webadmin.server.CServletCleanFiles</listener-class>
</listener>
<!-- Sends all new contracts and riders via email to the promoters on Tomcat start -->
<listener>
<listener-class>com.uds.webadmin.server.CServletSendContractsAndRiders</listener-class>
</listener>
</web-app>
[/XML]
Danke und Gruß
Andy
Zuletzt bearbeitet: