Es ist wie GAE sieht eine Teilmenge von JDK 1.6 Klassen gewählt hat, gemäß:Logic (falls vorhanden) hinter Google App Engine ohne Standard-JDK 1.6 APIs
Google App Engine JDK white list
was sehr schade ist, als eine Klasse bekommt Verbindungsfehler überall mit den meisten üblichen Java-Bibliotheken, die sich mit Datenbindung, Reflektion, Klassenladen und Anmerkungen befassen. Obwohl einige Auslassungen für veraltete oder veraltete Dinge gelten können, gibt es andere, die es nicht gibt. Mein besonderes Anliegen ist das Streaming von Pull-Parsern (javax.xml.stream. *), Das erst nach einer langen Verzögerung zu JDK 1.6 hinzugefügt wurde (die API wurde etwa zur gleichen Zeit wie JDK 1.4 fertiggestellt). Wenn Sie dies auslassen, wird es schwieriger, eine skalierbare Hochleistungs-XML-Verarbeitung durchzuführen.
Problem wie ich verstehe ist, dass nicht nur Klassen fehlen, aber sie können nicht einmal aus Sicherheitsgründen hinzugefügt werden.
Also: das ist eine offene philosophische Frage, die wahrscheinlich nur GAE-Entwickler sicher beantworten konnten, aber ... warum werden einige APIs scheinbar willkürlich aus dem Standard-JDK 1.6 entfernt?
UPDATE:
Schnell Anmerkung: Dank für Antworten. Für das, was es wert ist, sehe ich wirklich nicht, wie Sicherheit mit javax.xml.stream nicht zu tun haben würde. Sicherheitsaspekte sind für viele andere Dinge relevant (und ich brauche zum Beispiel keine Threads und kann sehen, warum sie nicht da sind), daher ist es verständlich, dass es eine Antwort gibt; einfach nicht anwendbar für diesen.
Stax API ist nur eine Reihe von Schnittstellen und abstrakt für das Schreien laut. Aber was noch wichtiger ist, es hat genau die gleichen Auswirkungen wie die Schnittstellen SAX, DOM und JAXP - die bereits enthalten sind!
Aber es sieht aus wie dieses Problem, um die Aufmerksamkeit von Google Devs gebracht wurde:
discussion on whitelisting Stax API
so hier hofft, dass diese und ähnliche Probleme schnell gelöst werden können.
Ich bezweifle, dass dies auch das Kriterium war. Sicherheit wurde am wahrscheinlichsten verwendet, um zu bestimmen, wie Sicherheitsmanager Anfragen an Ressourcen (Dateien, Netzwerk usw.) handhabt, aber Klasseneinschlüsse ... – StaxMan
@StaxMan - Denken Sie daran, dass GAE viele "riskante" Dinge erlaubt. Viele Reflexionsmerkmale, die normalerweise in einer solchen Umgebung deaktiviert werden müssten, sind verfügbar. Das macht es auch abhängig davon, welche Art von Angriffen man mit privaten Feldern, Methoden usw. ausführen könnte. – jsight
Ja, einverstanden, und ich denke, das ist großartig. Aber es macht es noch seltsamer, dass weniger riskante Dinge nicht enthalten sind. Ich hoffe, es ist wirklich eine Art "Schreibfehler" und nichts Fehler. – StaxMan