jakartaee / jakartaee/messaging

Define standard MDB activation properties to allow the MDB pool to be configured

Open
#143 4 comments 0 reactions 0 assignees View on GitHub
CDI integration jms21-forreview-minor Priority: Major Type: Improvement
Dominant language
Java
Stars
49
Forks
34
PR merge metrics
No merged PRs in 30d

Description

Should there be standard activation properties to allow the pool of MDB instances to be configured?

It's not clear whether this is desirable or not.

MDBs are defined in the EJB specification, not the JMS specification, so we would need to work with the EJB expert group on this.

MDBs aren't just for JMS, so we would need to consider is whether we'd want to define standard pooling properties just for JMS, or for all MDBs.

The EJB spec doesn't require a MDB (whether JMS or not) to be implemented using a pool of MDB instances. So in standardising pooling we may be trespassing on what is currently an implementation detail.

Most MDB pools are configured using multiple properties such as initialPoolSize, minPoolSize, maxPoolSize, steadyPoolSize and so on, depending on how the pool is implemented and what features it offers (e.g. some pools may allow the pool to grow and shrink whilst others might be fixed-size). Which of these are could be standardised and which of these would we have to leave as an implementation detail? It would probably be inappropriate to attempt to standardise them all.

On the other hand, the new Java EE 7 resource configuration features do introduce a notion of pooling for JMS connections (not MDBs). The new deployment descriptor element has the sub-elements and , and the new javax.jms.ConnectionFactoryDefinition annotation has the attributes minPoolSize and maxPoolSize. So this does offer precedent for defining pooling properties.
#### Affected Versions
[2.0]

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the EJB specification and the Java EE 7 pooling precedent for JMS connection factories. Determine whether MDB pooling properties should be standardized, which properties apply across MDB types, and what decision would resolve the open design questions.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.