【问题标题】:How can I provide context to a URLStreamHandler?如何为 URLStreamHandler 提供上下文?
【发布时间】:2008-11-04 16:28:30
【问题描述】:

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

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

那么,我的问题是,获得上下文相关 URL 解析的最佳方式是什么?有没有比在我的URLStreamHandler 实现上设置一个ThreadLocal 类变量更好的方法,它是在调用之前设置的?

【问题讨论】:

    标签: java url


    【解决方案1】:

    URL.setURLStreamHandlerFactory

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

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

    【讨论】:

      【解决方案2】:

      事实证明,至少就我们的目的而言,线程本地上下文对象效果最好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-15
        • 2017-09-26
        • 2019-01-08
        • 2023-03-30
        • 2021-05-11
        • 2018-03-21
        相关资源
        最近更新 更多