Jorg, I've looked at that before. While my app has a set of REST endpoints, we don't really deploy anything as servlets. Everything we do is either EJB or CDI endpoints, so trying to configure a servlet is a pain. I ended up just building a @Singleton @Startup to boot ES by reading in elasticsearch.yml from some config location (default = jboss's config directory). This client is stored in an @ApplicationScoped bean and made available throughout the ES query module I put together.
The quirks are more about how we're deploying. instead of dropping 3rd party libs into our war, we drop them into the modules folder of WildFly and read them that way. There are certain aspects of classloader segregation that this raises. Specifically, I think there was an ordering issue between lucene and ES which causes some scoping conflicts. This was fixed by simply putting the two of them together into a single module. Not ideal, but it got the job done. John On Sat, Aug 2, 2014 at 11:02 AM, [email protected] < [email protected]> wrote: > You surely had a look at the official support for ES in a servlet? > > > https://github.com/elasticsearch/elasticsearch-transport-wares/blob/master/src/main/java/org/elasticsearch/wares/NodeServlet.java > > Does this approach match your setup? > > I do not really prefer this approach, instead, I use a TransportClient in > a ServletContextListener, so I have a shared client instance across > servlets that I can safely start and stop when Wildfly starts and stops. > > Can you clarify what are the Lucuene 4.9 quirks? > > Jörg > > > > > On Sat, Aug 2, 2014 at 4:52 PM, John D. Ament <[email protected]> > wrote: > >> Actually, it was more environmental than anything. >> This happened after I was doing some module reconfiguration in wildfly to >> deploy elasticsearch as a module, instead of embedded in the WAR. Turns >> out that you need to add sun.jdk as a dependency. I didn't notice as I had >> declared other dependencies on ES. So long story short - there's some >> class being referenced in ES that wasn't exported by default. >> >> I'm not sure - would you guys be interested in a doc PR to explain how to >> deploy ES as a JBoss module? This way no one else has to go through my >> pain. I also found some lucene 4.9 quirks. >> >> John >> >> >> On Sat, Aug 2, 2014 at 10:43 AM, [email protected] < >> [email protected]> wrote: >> >>> Looks like a programming error. >>> >>> Without having a look at the code "ServerService" causing this, it is >>> not possible to find explanations. >>> >>> Jörg >>> >>> >>> On Fri, Aug 1, 2014 at 6:38 PM, John D. Ament <[email protected]> >>> wrote: >>> >>>> Hi all >>>> >>>> Based on another thread I started, I'm embedding ES into my >>>> application. Starting today, and I'm sure there's something that got >>>> thrown into the mix causing this, we have started seeing high counts of >>>> thread pools getting created and the application never fully booting. >>>> >>>> I see this in the logs at a fine level: >>>> >>>> 2014-08-01 12:34:32,731 FINE [org.elasticsearch.threadpool] >>>> (ServerService Thread Pool -- 19) [Sauron] creating thread_pool [generic], >>>> type [cached], keep_alive [30s] >>>> >>>> 2014-08-01 12:34:32,731 FINE [org.elasticsearch.threadpool] >>>> (ServerService Thread Pool -- 19) [Sauron] creating thread_pool [generic], >>>> type [cached], keep_alive [30s] >>>> >>>> 2014-08-01 12:34:32,732 FINE [org.elasticsearch.threadpool] >>>> (ServerService Thread Pool -- 19) [Sauron] creating thread_pool [generic], >>>> type [cached], keep_alive [30s] >>>> >>>> 2014-08-01 12:34:32,732 FINE [org.elasticsearch.threadpool] >>>> (ServerService Thread Pool -- 19) [Sauron] creating thread_pool [generic], >>>> type [cached], keep_alive [30s] >>>> >>>> 2014-08-01 12:34:32,732 FINE [org.elasticsearch.threadpool] >>>> (ServerService Thread Pool -- 19) [Sauron] creating thread_pool [generic], >>>> type [cached], keep_alive [30s] >>>> >>>> 2014-08-01 12:34:32,732 FINE [org.elasticsearch.threadpool] >>>> (ServerService Thread Pool -- 19) [Sauron] creating thread_pool [generic], >>>> type [cached], keep_alive [30s] >>>> >>>> 2014-08-01 12:34:32,732 FINE [org.elasticsearch.threadpool] >>>> (ServerService Thread Pool -- 19) [Sauron] creating thread_pool [generic], >>>> type [cached], keep_alive [30s] >>>> >>>> 2014-08-01 12:34:32,732 FINE [org.elasticsearch.threadpool] >>>> (ServerService Thread Pool -- 19) [Sauron] creating thread_pool [generic], >>>> type [cached], keep_alive [30s] >>>> >>>> 2014-08-01 12:34:32,732 FINE [org.elasticsearch.threadpool] >>>> (ServerService Thread Pool -- 19) [Sauron] creating thread_pool [generic], >>>> type [cached], keep_alive [30s] >>>> >>>> 2014-08-01 12:34:32,732 FINE [org.elasticsearch.threadpool] >>>> (ServerService Thread Pool -- 19) [Sauron] creating thread_pool [generic], >>>> type [cached], keep_alive [30s] >>>> >>>> >>>> I wouldn't expect so many threadpools to get created. Is this expected? >>>> >>>> >>>> John >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "elasticsearch" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/elasticsearch/e9388230-6f83-4aa9-8752-5e9c47625b03%40googlegroups.com >>>> <https://groups.google.com/d/msgid/elasticsearch/e9388230-6f83-4aa9-8752-5e9c47625b03%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "elasticsearch" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/elasticsearch/8IUdimKBEIo/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGu4WXCh9qAr4EPOmWoshFpYP7GG06Rw7G9wC05Avgzkg%40mail.gmail.com >>> <https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGu4WXCh9qAr4EPOmWoshFpYP7GG06Rw7G9wC05Avgzkg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "elasticsearch" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elasticsearch/CAOqetn9o2GJWs_Qaw3GCvy0VrGCtxdmcAfr4_fgQ2a5GkLxJbw%40mail.gmail.com >> <https://groups.google.com/d/msgid/elasticsearch/CAOqetn9o2GJWs_Qaw3GCvy0VrGCtxdmcAfr4_fgQ2a5GkLxJbw%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to a topic in the > Google Groups "elasticsearch" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/elasticsearch/8IUdimKBEIo/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elasticsearch/CAKdsXoFg3GJ8NGuxV9qip9%3D_ZSU9rSGArxAK8toETEjvtn91ng%40mail.gmail.com > <https://groups.google.com/d/msgid/elasticsearch/CAKdsXoFg3GJ8NGuxV9qip9%3D_ZSU9rSGArxAK8toETEjvtn91ng%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAOqetn9gFZPbMaga70rUdS0qy7bt6_msu-%2Bz9VUe6CV%3DsaOvuw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
