Thought I would let you know of an issue i have had to work around with
getting GWT running in Grizzly-http-servlet.
Upon starting the GWTServlet i will get the following error msg
un 10, 2008 7:00:58 PM com.sun.grizzly.http.servlet.ServletContextImpl log
INFO: ERROR: The serialization policy file
'/com.ll.dashboard.Dashboard/08252058FB1CB6571B5F628B6918964B.gwt.rpc' was
not found; did you forget to include it in this deployment?
Jun 10, 2008 7:00:58 PM com.sun.grizzly.http.servlet.ServletContextImpl log
INFO: WARNING: Failed to get the SerializationPolicy
'08252058FB1CB6571B5F628B6918964B' for module '
http://localhost:8080/com.ll.dashboard.Dashboard/'; a legacy, 1.3.3
compatible, serialization policy will be used. You may experience
SerializationExceptions as a result.
the error occurs because the WAR contains the file as static data and that
is not included on the classpath so the servlet context fails to get it
using loadResourceAsStream.
Ive simply added the following which gets the OS native path to the static
dir location and it solves the problem.:
public InputStream getResourceAsStream(String path) {
path = normalize(path);
if (path == null)
return (null);
InputStream resourceAsStream =
Thread.currentThread().getContextClassLoader().getResourceAsStream(path);
String webAppRootPath = SelectorThread.getWebAppRootPath();
File file = new File(webAppRootPath + path);
if (file.exists()) {
try {
return new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
return resourceAsStream;
}