What is the best way to reload some part of the web facing portion of an
app running in production without taking the Grizzly/Jersey server down?
I'm doing this:
Set<Class<?>> classes = new HashSet<>();
classes.add(myapp.MyClass.class);
classes.add(myapp.MyOtherClass.class);
ResourceConfig rc = new ResourceConfig(classes);
HttpServer httpServer =
GrizzlyHttpServerFactory.createHttpServer(BASE_URI, rc);
System.out.println(String.format("Jersey app started with WADL available
at " + "%sapplication.wadl", BASE_URI, BASE_URI));
and tried to reload like this after replacing the running jar:
GrizzlyHttpContainer c = (GrizzlyHttpContainer)httpServer.getHttpHandler();
c.reload();
but no luck, just a ClassCastException. Will that method do what I want
and what's the preferred way to get a reference to it?
Thanks!