On Wed, 8 Oct 2025 02:29:54 GMT, Josiah Noel <[email protected]> wrote:
>> src/jdk.httpserver/share/classes/sun/net/httpserver/ExchangeImpl.java line
>> 65:
>>
>>> 63: private static final boolean perExchangeAttributes =
>>> 64: !System.getProperty("jdk.httpserver.attributes", "")
>>> 65: .equals("context");
>>
>> The property will have to be documented somewhere such as the jdk.httpserver
>> module-info. But, I'm wondering if fairly obscure properties like this might
>> be better off "buried" in the net.properties config file. I think there's a
>> case for putting all such "compatibility" flags somewhere out of the way
>> like that. If we were to do that, you would need to access the property
>> using `sun.net.NetProperties`.
>>
>> Any other views on this?
>
> I can switch to `sun.net.NetProperties` if you so desire.
Yeah, I think we should put the property in `net.properties` something like
this:
# Prior to JDK 26, the HttpExchange attribute map was shared with the
enclosing HttpContext.
# Since JDK 26, by default, exchange attributes are per-exchange and the
context attributes must
# be accessed by calling getHttpContext().getAttributes(). Uncomment this
property to
# restore the pre JDK 26 behavior.
#
# jdk.httpserver.attributes=context
Then I think we should add a sentence at the end of the jdk.httpserver
module-info to say that additional
system/networking properties may be defined in `net.properties`
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27652#discussion_r2413328557