6

最近我将一段代码集成到现有项目中。但是,为了使代码正常工作,已设置以下属性:

System.setProperty("javax.xml.soap.MessageFactory","com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl");
System.setProperty("javax.xml.soap.SOAPFactory","com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPFactory1_1Impl");
System.setProperty("javax.xml.soap.MetaFactory","com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl");

System.setProperty("weblogic.security.SSL.enforceConstraints","off");
System.setProperty("weblogic.security.SSL.ignoreHostnameVerification","true");
System.setProperty("weblogic.security.SSL.strictcertchecking","false");
System.setProperty("weblogic.security.SSL.nojce","true");

现在一切似乎都很好,但是我有一个很大的担忧。

1) 上述属性能否在大型应用程序的其他地方搞乱功能?

2)我可以设置一些特定于我的对象的属性吗?这意味着我不必设置系统范围的属性来获得相同的结果。

4

1 回答 1

2

Believe System 将绑定到 JVM 运行。如果我正确理解您的问题,您想知道这是否会影响其他地方的功能。

如果您在同一 JVM 中加载依赖于上面设置的属性的另一个应用程序,则可能会影响功能。

IE

System.setProperty("weblogic.security.SSL.enforceConstraints","on");

在不同的应用程序中设置。要担心的另一件事是这些属性是否在部署时设置,然后被认为是不可变的?如果它们被访问和更改,而其他应用程序正在访问和更改,您将陷入混乱。

希望这是有道理的。

于 2013-08-12T16:07:16.413 回答