我一直看到JNLP Java桌面应用程序出现了一个奇怪的问题,它使用了几个数据库(都在同一台服务器上)。它会在打开数据库连接(Microsoft SQL Server)时抛出这些java.net.SocketPermission“”server.domain.com:1433“错误,但很少见,只在一个特定的代码段中连接到一个特定的数据库(我的意思是“数据库”,而不是一个特定的“表”)。从来没有发生这种情况与连接到该服务器上的任何其他数据库(它有大约24个数据库和数千个表)。
我从来没有真正能够在我的开发机器上捕获它,但是我们有一个用户(不是特定的用户,它有所不同)大约每3-4周就会发一次。
我真的不确定要在这方面寻找什么。我已经尽最大努力确认了权限和代码。我应该寻找另一类问题吗?
答案 0 :(得分:0)
如果在由于javascript操作而调用的方法中启动数据库连接,则会强制提示安全提示。然后,如果用户"取消"提示,连接将被拒绝,导致此错误。
解决方案是强制初始数据库连接出现在核心Java应用程序的开头而不是"根据需要"因为有时第一个需要是javascript动作的结果......这不仅避免了错误的可能性,而且还从用户的生活中消除了烦人的安全提示。