Skip to main content

Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » GlassFish » EJBTimerService stop working(EJBTimerService stop working)
EJBTimerService stop working [message #1793860] Fri, 17 August 2018 11:59
Marat Duglas is currently offline Marat DuglasFriend
Messages: 1
Registered: August 2018
Junior Member

I have a question about EJBTimerService.

EJBTimerService is central controller, which the use java.util.Timer.
//java.util.Timer jdkTimer = ejbContainerUtil.getTimer();
//jdkTimer.schedule(timerTask, timerExpiration);

My problem is java.util.Timer.mainLoop stop working and new task not scheduled.

After GlassFish source code analyzing I made conclusions.
Problem happen because we receive RejectedExecutionException from ejbContainerUtil.addWork(work) when EJBTimeout.
//EJBTimerTask timerTask = new EJBTimerTask(timerExpiration, timerId, this);

Inside ejbContainerUtil.addWork we have defaultThreadPoolExecutor.submit() = EjbThreadPoolExecutor extends ThreadPoolExecutor + AbortPolicy.

TaskExpiredWork work = new TaskExpiredWork(this, timerId);

So timer java.util.Timer.mainLoop stop working,
because core poll is exceeded, queue is full, max core is exceeded, then we receive from ThreadPoolExecutor RejectedExecutionException.

I'm corret? Or I'm wrong?

[Updated on: Sat, 18 August 2018 14:53]

Report message to a moderator

Goto Forum:

Current Time: Wed Nov 14 18:09:14 GMT 2018

Powered by FUDForum. Page generated in 0.01819 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top