Yes, because Elasticsearch is patching/overriding some dependencies by
simply reimplementing some classes, the elasticsearch jar must precede at
least Lucene and Joda jars in the classpath.

All that I have left as a hint  to avoid the sudden thread pool inits is to
examine the code if there are unwanted class instantiations instead of
singletons, but I'm sure you are aware of that.

@ApplicationScoped beans are tricky because they are initialized lazily and
are not really singletons in some situations. In short words I'm glad I
could leave all those EJB annoyances behind and rely on JSR 330 (Guice
style).

Jörg


On Sat, Aug 2, 2014 at 5:07 PM, John D. Ament <[email protected]>
wrote:

> 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
> <https://groups.google.com/d/msgid/elasticsearch/CAOqetn9gFZPbMaga70rUdS0qy7bt6_msu-%2Bz9VUe6CV%3DsaOvuw%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/CAKdsXoGO_jHfFd6ZZWTgxrBK0P5HGvT-Z4Dv4CsAQEk2J7NtLg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to