As per the TODO in {{ AbstractStandardBasicType }}, have {{SessionImplementor}} expose {{WrapperOptions}} via a new {{WrapperOptionsContext}} contract . This removes the need to allocate a new WrapperOptions for every call and saves a lot of allocations.
There are 2 pieces 2 this: # Introduction of the new {{WrapperOptionsContext}} contract (composition/delegation) # Having {{SessionImplementor}} implement {{WrapperOptionsContext}}
5.1 will have both. In the interest of compatibility, for 5.0 I will do this slightly differently, namely limiting the implementation of {{WrapperOptionsContext}} to just {{SessionImpl}}, {{StatelessSessionImpl}} and {{SessionDelegatprBaseImpl}} specifically. This allows custom {{Session}} implementors to continue to work as is. |
|