In a Java EE messaging application, one MDB is consuming a lot of memory at high traffic.
What configuration should you use to prevent possible out-of-memory error at high traffic and at
the same time not losing messages?
A.
Configure a Work Manager for the MDB with a Maximum Thread Constraint.
B.
Configure a Work Manager for the MDB with a Minimum Thread Constraint.
C.
Configure a Work Manager for the MDB with a Maximum Thread Constraint and a Capacity
Constraint.
D.
Configure a Work Manager for the MDB with a Minimum Thread Constraint and a Capacity
Constraint.
E.
Configure a Work Manager for the MDB with both a Maximum Thread Constraint and Minimum
Thread Constraint.
Explanation:
Note:
*
* When to Use Work Managers
Following are guildelines to help you determine when you might want to use Work Managers to
customize thread management:
/ The default fair share is not sufficient.
This usually ocurrs in situations where one application needs to be given higher priority over
another.
/ A response time goal is required.
/ A minimum thread constraint needs to be specified to avoid server deadlock
B is invalid.
E is valid. MinThread is needed to set to 1 at least. If there will be no consumers (MDB instance), messages will be loosed due to expiration time.
C
A Constraint can reject a job, since the question says that we must keep all messages (works) then i also go for E!