Hi,

this sounds strange, the event admin impl is using a thread pool, so
it's ok that the thread stays around after it has delivered the event.
It will be reused for one of the next events. The pool has a limit, so
you shouldn't get more threads than that limit.
I'm wondering what this has to do with CPU though? If you create a
thread dump are these threads executing something or really just waiting
in the pool?

Regards
Carsten

David Daniel wrote
> I am registering an event handler with the evenadmin.
> 
>             pingRegistration = bc.registerService(
>                 EventHandler.class.getName(), new PingEventHandler(), p);
> 
> 
>     private class PingEventHandler implements EventHandler {
> 
>         @Override
>         public synchronized void handleEvent(Event event) {
>             String userId = "";
>             for (String name : event.getPropertyNames()) {
>                 if (name.equals("type")) {
>                     if
> (event.getProperty(name).equals(PingDTO.class.getCanonicalName())) {
>                         userId = (String)event.getProperty("userId");
>                     }
>                 }
>             }
>             if (!userId.isEmpty()) {
>                 IUser pingedUser = UserManager.this.getUser(userId);
>                 pingedUser.setLastActive(LocalDateTime.now());
>                 pingedUser.getId().ifPresent(id -> {
>                     UserManager.this.put(pingedUser);
>                 });
>             }
>         }
> 
>     }
> 
> Things seem to run through all the code ok but after each ping event a new
> thread is created for the EventHandler and it never gets destroyed but only
> parked.  Because of that my program quickly uses up all the cpu on the
> box.  Is there a way to have the Executer that runs the eventHandles clear
> the thread when it is done or am I doing something wrong and have a loop
> that I am just missing.
> 
> Thanks for any help,
>   David
> 


 

-- 
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
For additional commands, e-mail: users-h...@felix.apache.org

Reply via email to