Kannan
Kannan

Reputation: 136

How do I implement Request throttling in a Java EE environment?

One of our application accepts requests through a message queue and dials a telephony call for every request.

There are 2 telephony systems involved in dialing a call. One has a limitation on number of calls that can be initiated in a second but no limit on parallel calls and other system has a limitation of concurrent calls that can be active at any point in time.

The later requirement is handled in the Java EE layer by having a message queue with a predefined number of MDBs not exceeding the limit.

Can anyone please suggest how do I implement the first limitation (call initiation) in the Java EE layer (weblogic 10.3)?

Upvotes: 4

Views: 1299

Answers (1)

Jim Barrows
Jim Barrows

Reputation: 3634

The only idea I come up with is to have a number of MDB's equal to the initiation limit, and have them sleep for 1 second after call initiation, and before getting the next message.

There might be a way to do it in the Queue provider, that isn't necessarily available via JMS. You'd have to check the documentation.

Upvotes: 1

Related Questions