Lars Herschke updated TOMEE-2044:
    Fix Version/s: 7.0.8

> threadPool-queue (in ServicePool) from ejbd-Service is never processed 
> -----------------------------------------------------------------------
>                 Key: TOMEE-2044
>                 URL: https://issues.apache.org/jira/browse/TOMEE-2044
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Core Server
>    Affects Versions: 1.7.4, 1.7.5
>         Environment: FreeBSD 10.3-STABLE amd64 
> openjdk8-8.131.11
>            Reporter: Lars Herschke
>            Priority: Major
>             Fix For: 7.0.8
> If you have many requests to your ejbd-service the queue from the threadPool 
> in ServicePool.java is filled. This queue is never processed depending on 
> your server config. If you have only ejbd-service enabled and the services 
> admin, ejbds and httpejbd are disabled all is fine. If you have two or more 
> of these services enabled the issue could occur. The reason is the following.
> KeepAliveServer.java has the following line to get the queue.
> final ServicePool incoming = 
> SystemInstance.get().getComponent(ServicePool.class);
> SystemInstance.java hold components in a HahMap with the class type as key. 
> On server-startup the above named services are initalized in 
> ServiceManager.manage(...). This method instances new ServicePool for this 
> services. Each ServicePool-instance calls in his constructor
> SystemInstance.get().setComponent(ServicePool.class, this);.
> Every other call of setComponent replace the old entry in the components 
> HashMap. So KeepAliveServer gets always the queue of the last initalized 
> service.
> Workaround:
> Use only one of the four above named services
> or
> set threadsCore for your services at least as high, that the queue is never 
> used.

This message was sent by Atlassian Jira

Reply via email to