Community
Participate
Working Groups
By default we currently use, - read pool with 2 connections - write pool with 5-10 connections This has the following issues - 7 connections connected at startup adding to startup cost and useability - only 2 read connections gives poor concurrency (can't scale past 2 threads) - 5-10 write connections also give poor conurrency > 10 threads, and at > 5 threads start thrasing connections (connect/disconnect each access) - the split read/write pools make for an in-efficient usage of connections, if you have 32 threads you need to allocate 32+32=64 connections instead of just 32 with a shared pool Enhancement is to add: - Support for initial size on ConnectionPool, this is number of connections used at startup (will then grow to min and wait at max) - Use a shared (exclusive) read/write connection pool by default, use a single pool for the read and default write conneciton pool - When add/reomving connections, always use the tail, not the head of the queue, this is more efficient, and gives better performance because it uses a "hot" connection
This new default pool with have 1 initial, 32 min/max connections.
Changes: - changed ConnectionPool queues to use List and generics, not Vector - updated some tests - added persistence.xml properties for connection pool sizes, initial size and sequence connection pool - added reset to Accessor - added support to set ConnectionPool, initialSize in SequenceManager - changed reflection weaving to use valueOf for primitives - changed ConnectionPool to default 1 initial, 32 min/max connections - changed ConnectionPool to acquire last connection to first (hot/more efficient) - added initial connections to ConnectionPool - simplified ServerSession constructors - updated Project, Server, ServerSession API/comments
Created attachment 131003 [details] patch
Fixed
Closing
Mass update to change fixed in target.
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink