Sto provando a caricare una classe tramite URLClassLoader (beh, non funziona con un normale programma di caricamento classi) e voglio che non abbiano alcun permesso.Errore di autorizzazione di Java Reflection
Pertanto, ho creato il mio gestore della sicurezza, che genera una chiave all'avvio, che può essere richiesta solo una volta (nel thread principale). Il responsabile della sicurezza ha 2 elenchi, il thread dell'applicazione, a cui verranno assegnati tutti i diritti e la lista temporanea, a cui verrà concesso un diritto una volta sola (riguarda il riflesso).
Poiché è molto difficile da descripe, ho deciso di caricare il tutto: un'occhiata al link qui sotto
Ok, ritorno: ho creato un filo WatchDog, che controlla se il thread non lo fa prendi troppo tempo
Quando ora inizio ad istanziare due classi da un URLClassLoader, chiamo esattamente 30 metodi senza ottenere errori, ma alla 31a chiamata, prova a verificare le Permissioni per quanto segue, ma questo è solo dopo la 30a chiamata.
java.lang.RuntimePermission accessClassInPackage.sun.reflect),
Qualcuno sa cosa sta succedendo lì?
modifica: Ho avuto il tempo di eliminare l'esempio. http://myxcode.at/securitymanager.zip Ho scoperto che SecurityManager non viene richiesto sincrono. Basta eseguire questo piccolo pezzo di codice e dare un'occhiata alle linee rosse.
Se le linee rosse arrivano nella prima riga, esegui nuovamente il programma, scoprirai che sembra un po 'incontrollato.
Il problema più o meno è che ho bisogno che il responsabile della sicurezza sia sincronizzato. Qui è la mia uscita per coloro che non possono affrontare l'errore (bug?) http://pastebin.com/E9yLRLif
EDIT2: forse la sua sulla console? forse la console è troppo lenta?
Lessare il vostro problema fino ad una piccola, conciso, esempio completo e post qui. –
ok, eccolo;) –