当使用Oracle的JDBC驱动连接数据库时,会出现这种错误:access denied (javax.management.MBeanTrustPermission register)
一般的解决办法是修改{JAVA_HOME}\jre\lib\security\java.policy文件,添加一行:
permission javax.management.MBeanTrustPermission “register”
但是这种方法很不方便,我经过实践,其实还有一种简便的方法,就是实现一个自己的Policy:
源代码如下:
Policy.setPolicy(new AWSPolicy()); // 启动方法里设置Policyprivate static class AWSPolicy extends Policy {private final Policy defaultPolicy;public AWSPolicy() {super();defaultPolicy = Policy.getPolicy();}@Overridepublic boolean implies(ProtectionDomain domain, Permission permission) {if (permission instanceof javax.management.MBeanTrustPermission) {return true;} else {return defaultPolicy.implies(domain, permission);}}}
