- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到一个实际问题,该问题可以描述如下。
我们正在开发一个组件(例如插件),以便在外部 CMS 中使用外部 CMS 提供的 API 触发事件时执行某些任务。他们提供了一些jar库,所以我们要做的就是实现他们提供的接口(interface)。然后当事件被触发时调用内部方法。 (当第一个事件触发时,CMS 仅创建一个类实例,然后它只执行每个事件触发的方法)
该功能可概括如下,
import com.external.ProvidedInterface;
public class MonitorProgram implements ProvidedInterface{
public void process(){
//This method is called when an event is triggered in CMS
}
}
在我们的类中,我们使用“javax.net.ssl.HttpsURLConnection”(JAVA 1.5)。但是 HttpsURLConnection 在 1.4 版本中从 com.sun.net.ssl 迁移到了 javax.net.ssl。但我提到的 CMS 似乎(我们实际上不知道他们的实现)使用了类似的东西
System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
导致我们的代码中出现 ClassCastException。
我想我的问题已经很清楚了。在我们的例子中,我们无法设置VM参数,
-Djava.protocol.handler.pkgs=
我们也无法使用以下方法将其恢复,
System.setProperty("")
因为 CMS 和我们的程序的 VM 实例是相同的。
我该怎么做才能解决这个问题?还有想法或经验吗?
最佳答案
这对我来说不太清楚。
您想覆盖系统属性吗?你可以做到这一点。
在调用外部库方法之前覆盖 System.property,当方法返回时,您可以设置旧的 System.property
final String propertyName = "Property";
String oldProperty = System.getProperty(propertyName);
System.setProperty(propertyName,"NEW_VALUE");
monitorProgram.process();
System.setProperty(propertyName,oldProperty);
或者您想防止被调用的进程覆盖 system.property?为什么不能手动设置系统属性?
关于java - 我有什么方法可以覆盖 Java 中的系统属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/909357/
你能比较一下属性吗 我想禁用文本框“txtName”。有两种方式 使用javascript,txtName.disabled = true 使用 ASP.NET, 哪种方法更好,为什么? 最佳答案 我
Count 属性 返回一个集合或 Dictionary 对象包含的项目数。只读。 object.Count object 可以是“应用于”列表中列出的任何集合或对
CompareMode 属性 设置并返回在 Dictionary 对象中比较字符串关键字的比较模式。 object.CompareMode[ = compare] 参数
Column 属性 只读属性,返回 TextStream 文件中当前字符位置的列号。 object.Column object 通常是 TextStream 对象的名称。
AvailableSpace 属性 返回指定的驱动器或网络共享对于用户的可用空间大小。 object.AvailableSpace object 应为 Drive 
Attributes 属性 设置或返回文件或文件夹的属性。可读写或只读(与属性有关)。 object.Attributes [= newattributes] 参数 object
AtEndOfStream 属性 如果文件指针位于 TextStream 文件末,则返回 True;否则如果不为只读则返回 False。 object.A
AtEndOfLine 属性 TextStream 文件中,如果文件指针指向行末标记,就返回 True;否则如果不是只读则返回 False。 object.AtEn
RootFolder 属性 返回一个 Folder 对象,表示指定驱动器的根文件夹。只读。 object.RootFolder object 应为 Dr
Path 属性 返回指定文件、文件夹或驱动器的路径。 object.Path object 应为 File、Folder 或 Drive 对象的名称。 说明 对于驱动器,路径不包含根目录。
ParentFolder 属性 返回指定文件或文件夹的父文件夹。只读。 object.ParentFolder object 应为 File 或 Folder 对象的名称。 说明 以下代码
Name 属性 设置或返回指定的文件或文件夹的名称。可读写。 object.Name [= newname] 参数 object 必选项。应为 File 或&
Line 属性 只读属性,返回 TextStream 文件中的当前行号。 object.Line object 通常是 TextStream 对象的名称。 说明 文件刚
Key 属性 在 Dictionary 对象中设置 key。 object.Key(key) = newkey 参数 object 必选项。通常是 Dictionary 
Item 属性 设置或返回 Dictionary 对象中指定的 key 对应的 item,或返回集合中基于指定的 key 的&
IsRootFolder 属性 如果指定的文件夹是根文件夹,返回 True;否则返回 False。 object.IsRootFolder object 应为&n
IsReady 属性 如果指定的驱动器就绪,返回 True;否则返回 False。 object.IsReady object 应为 Drive&nbs
FreeSpace 属性 返回指定的驱动器或网络共享对于用户的可用空间大小。只读。 object.FreeSpace object 应为 Drive 对象的名称。
FileSystem 属性 返回指定的驱动器使用的文件系统的类型。 object.FileSystem object 应为 Drive 对象的名称。 说明 可
Files 属性 返回由指定文件夹中所有 File 对象(包括隐藏文件和系统文件)组成的 Files 集合。 object.Files object&n
我是一名优秀的程序员,十分优秀!