We are attempting to get voldemort 0.90.1 up and running in a tomcat.
I have run into a couple of difficulties, and so I wanted to post my
solutions in the hopes that I just missed something, and there is a
much easier way to accomplish what I am trying to do.
Problem #1 - We want to tell the tomcat at startup where the
configuration files live. (similar to
http://groups.google.com/group/project-voldemort/browse_thread/thread/505dbcd2652caaa4,
but I did this about two months ago) We also would prefer that that
configuration be set by a jvm property as opposed to a system
environment variable. In order to fix this, I wrote my own property
context listener that extends VoldemortServletContextListener, but
overrides the contextInitialized method to set voldemort home from the
jvm property.
Problem #2 - When we start tomcat with http.enabled set to true in the
server.properties, the voldemort code actually starts an embedded
jetty server inside the tomcat. If I set http.enabled to false the
StoreServlet is unable to be initialized because it tries to get its
RequestHandler from the HttpService directly.
We do not want to be running a jetty inside of the tomcat. The tomcat
should be sufficient to respond to all http requests without the
embedded jetty. I fixed this by creating my own servlet that builds
the request handler the exact same way that the HttpService would.
Both of these solutions seem like hacks and don't really feel worthy
of contributing back to the community. I am hoping that I just mis-
understood the source code and actually don't need to do either of
these things. Any assistance in getting around these issues without
having to write proprietary code would be greatly appreciated.
I can attach the code if anyone is interested.