> On 8 Nov 2015, at 21:21, Alan Bateman <alan.bate...@oracle.com> wrote:
> 
> On 08/11/2015 19:36, Paul Sandoz wrote:
>> :
>> 
>> I was wondering if it might be possible to consider this a mostly internal 
>> contract since the URL class loading functionality (URLClassPath.java) 
>> creates such URLs for processing by JarURLConnection in some code paths 
>> (getResourceAsStream IIRC). Since JarURLConnection caches JarFiles we need 
>> to distinguish between runtime class loading behaviour and independently 
>> created URLs.
>> 
>> A fragment is the most unobtrusive way to do this, and i think a reasonably 
>> accurate use of the URL syntax.
>> 
> I can go along with using a URL fragment although the proposed value 
> (rtversionsed) is a little bit strange.
> 

The name is derived from the requirement that if the fragment is present a call 
to getRuntimeVersionedEntry is required (or the equivalent of), thus the URL is 
a reference to a runtime versioned entry.


> As to whether this is implementation vs. JAR URL spec then I assume it needs 
> to be spec so that libraries can create URLs that will use runtime versioning 
> when access the JAR.
> 

Yeah, i don’t think we can avoid it.


> I just read the mails about the configured setting, I just wonder if there 
> could be any interaction with JAR cache as it's not keyed on whether it is 
> runtime versioned.
> 

Do you mean caching by JarFileFactory? AFAICT it’s only used by 
JarURLConnection and that never configures JarFiles, which is why we need the 
fragment.

Paul.

Reply via email to