我们的应用程序定义了一个URL方案,其分辨率是上下文相关的:URL的内容取决于正在进行的数据库事务的状态。因此,要检索内容,我不能,例如,打开一个新的数据库连接。但是,我看不到从URLStreamHandler
实例获取外部上下文的方法。
文档也有点误导:我在the java Protocol Handler站点检查了它(在实施URLStreamHandlerFactory 部分中)指示URL类将接受URLStreamHandlerFactory
实例,但1.5 JDK表示URL在构建URL时仅接受URLStreamHandler
。
所以,我的问题是,对于上下文敏感的URL解析,最好的方法是什么?有没有比在我的ThreadLocal
实现上设置URLStreamHandler
类变量更好的方法,这是在调用之前设置的?
答案 0 :(得分:2)
请参阅URL.setURLStreamHandlerFactory
这是一种静态方法,并且:
设置应用程序 URLStreamHandlerFactory。这种方法 在给定的情况下最多可以调用一次 Java虚拟机。
答案 1 :(得分:0)
事实证明,至少在我们的目的中,线程局部上下文对象效果最好。