0

Java 8u20 を使用して、サンドボックス化されたアプレット内で次のことを行っています。

Set<Integer> set = new ConcurrentSkipListSet<Integer>();
set.add((int) 1);

そして、次の例外が発生します。

network: Cacheeintrag nicht gefunden [URL: http://[0:0:0:0:0:0:0:1]:80/crossdomain.xml, Version: null]
network: Verbindung von http://[0:0:0:0:0:0:0:1]:80/crossdomain.xml mit Proxy=DIRECT wird hergestellt
network: Verbindung von http://[0:0:0:0:0:0:0:1]:80/ mit Proxy=DIRECT wird hergestellt

java.lang.SecurityException: denied access outside a permitted URL subpath
 at sun.net.www.protocol.http.HttpURLConnection.checkURLFile(Unknown Source)
 at sun.net.www.protocol.http.HttpURLConnection.writeRequests(Unknown Source)
 at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
 at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
 at com.sun.deploy.net.CrossDomainXML.check(Unknown Source)
 at com.sun.deploy.net.CrossDomainXML.check(Unknown Source)
 at sun.plugin2.applet.SecurityManagerHelper.checkConnectHelper(Unknown Source)
 at sun.plugin2.applet.AWTAppletSecurityManager.checkConnect(Unknown Source)
 at java.net.NetworkInterface$1checkedAddresses.<init>(Unknown Source)
 at java.net.NetworkInterface.getInetAddresses(Unknown Source)
 at java.net.NetworkInterface.getHardwareAddress(Unknown Source)
 at java.util.concurrent.ThreadLocalRandom.initialSeed(Unknown Source)
 at java.util.concurrent.ThreadLocalRandom.<clinit>(Unknown Source)
 at java.util.concurrent.ConcurrentSkipListMap.doPut(Unknown Source)
 at java.util.concurrent.ConcurrentSkipListMap.putIfAbsent(Unknown Source)
 at java.util.concurrent.ConcurrentSkipListSet.add(Unknown Source)
 at myCode...

Caused by: java.security.AccessControlException: access denied ("java.net.SocketPermission" "[0:0:0:0:0:0:0:1]:80" "connect,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.checkConnect(Unknown Source)
 at sun.plugin2.applet.SecurityManagerHelper.checkConnectHelper(Unknown Source)
 at sun.plugin2.applet.AWTAppletSecurityManager.checkConnect(Unknown Source)
 ... 20 more

質問:

  • この奇妙なアドレス "[0:0:0:0:0:0:0:1]:80" は何ですか?
  • 回避策はありますか?
  • このバグを Java に報告するにはどうすればよいですか、またはこれに関するバグレポートが既にありますか?
  • 同様の同時実行動作を持つ ConcurrentSkipListSet に代わるものは何ですか?
    • 多分:Collections.newSetFromMap(new ConcurrentHashMap<Integer, Boolean>())
4

0 に答える 0