如何为URLStreamHandler提供上下文?

时间:2008-11-04 16:28:30

标签: java url

我们的应用程序定义了一个URL方案,其分辨率是上下文相关的:URL的内容取决于正在进行的数据库事务的状态。因此,要检索内容,我不能,例如,打开一个新的数据库连接。但是,我看不到从URLStreamHandler实例获取外部上下文的方法。

文档也有点误导:我在the java Protocol Handler站点检查了它(在实施URLStreamHandlerFactory 部分中)指示URL类将接受URLStreamHandlerFactory实例,但1.5 JDK表示URL在构建URL时仅接受URLStreamHandler

所以,我的问题是,对于上下文敏感的URL解析,最好的方法是什么?有没有比在我的ThreadLocal实现上设置URLStreamHandler类变量更好的方法,这是在调用之前设置的?

2 个答案:

答案 0 :(得分:2)

请参阅URL.setURLStreamHandlerFactory

这是一种静态方法,并且:

  

设置应用程序   URLStreamHandlerFactory。这种方法   在给定的情况下最多可以调用一次   Java虚拟机。

答案 1 :(得分:0)

事实证明,至少在我们的目的中,线程局部上下文对象效果最好。