我们的应用程序定义了一个 URL 方案,其解析是上下文相关的:URL 的内容取决于正在进行的数据库事务的状态。因此,要检索内容,我无法打开新的数据库连接。但是,我看不到从 URLStreamHandler
实例获取外部上下文的方法。
该文档也有点误导:我在 the java Protocol Handler 上查看过站点,它指示(在实现 URLStreamHandlerFactory 部分)URL 类将接受 URLStreamHandlerFactory
实例,但 1.5 JDK 指示 URL 只接受 URLStreamHandler
构建 URL 时。
所以,我的问题是,进行上下文相关 URL 解析的最佳方法是什么?除了在调用之前设置的 URLStreamHandler
实现上设置一个 ThreadLocal
类变量之外,还有什么更好的方法吗?
最佳答案
参见URL.setURLStreamHandlerFactory
这是一个静态方法并且:
Sets an application's URLStreamHandlerFactory. This method can be called at most once in a given Java Virtual Machine.
关于java - 如何向 URLStreamHandler 提供上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/262364/