在win7上安装完OAS之后,启动medrec示例程序发现只能打开首页,当登录的时候会报数据源找不到的错误,这是因为weblogic内置的derby数据库没有启动成功造成的。
手工启动derby数据库报如下错误:
2016-03-05 14:31:33.948 GMT : 已使用基本服务器安全策略安装了安全管理程序。
2016-03-05 14:31:34.182 GMT : access denied ("java.net.SocketPermission" "localh
ost:1527" "listen,resolve")
java.security.AccessControlException: access denied ("java.net.SocketPermission"
"localhost:1527" "listen,resolve")
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkListen(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
经过搜索,发现是“Java 7u51版安全管理器的默认权限有变化,之前允许绑定>1024的端口,现在下限更高。所以derby使用的1527端口被拒绝绑定。”
官方文档:http://www.oracle.com/technetwork/java/javase/7u51-relnotes-2085002.html
解决办法如下:
修改OracleATS\jdk\jre\lib\security目录下的java.policy 并添加如下内容:
grant {
...
permission java.net.SocketPermission "localhost:1527", "listen,resolve";
}
然后重启MedRec示例程序即可