[ jandrla @ 19.06.2005. 00:25 ] @
Nisam siguran da li bas spada pod ovu temu ili u temu "Java", ili pod obe.
Kada pokusam da pokrenem servlet koji pravi konekciju na bazu i upisuje nov red
u neku tabelu dobijam sledecu poruku:

java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM)
java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
java.security.AccessController.checkPermission(AccessController.java:401)
java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
java.lang.SecurityManager.checkExit(SecurityManager.java:736)
com.sun.enterprise.J2EESecurityManager.checkExit(J2EESecurityManager.java:70)
java.lang.Runtime.exit(Runtime.java:88)
java.lang.System.exit(System.java:715)
Unos.doPost(Unos.java:116)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:284)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:306)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:200)


Pritom ekvivalentni kod u aplikaciji, a ne u servletu, radi i ne pravi nikakav problem.
Zahvalan sam na svakoj pomoci.
[ Milovan_B @ 19.06.2005. 08:29 ] @
Negde ti nedostaju privilegije. Kako mislis da neko moze da ti pomogne ako ne navodis vise podataka? Koji SDK koristis? Prilozi izvorni kod!

Pokusaj da koristis flag "java.security.debug property". Ovaj property ce da ti dati informacije na stderr.

Kad setujes property to "access,failure", onda mozes da tacno odredis koji deo koda ti pravi execption.

Da bi koristio ovaj property, startuj server koristeci "jserv".

jserv -vmargs -Djava.security.debug=access,failure

U tom slucaju JDK ce ti dati tacnu informaciju zasto je pristup neuspesan.

Ja mislim da je ovo pitanje promasilo forum. Ovo je koliko ja razumem cisto MS SQL Server forum i nema mnogo Java programera koji mogu da ti pomognu a za SQL developere i DBA-a odgovor na tvoje pitanje ne znaci mnogo.

Pozdrav

Milovan
[ jandrla @ 19.06.2005. 16:00 ] @
Koristim poslednji j2ee, servlet puca kada se pozove Class.forName() metoda,
kao server koristim Java Application Server.
Toliko, ne znam koliko jos korisnih informacija mogu da dodam.
Postavicu temu i na Java forumu.
Hvala.
[ MilovanB @ 20.06.2005. 02:35 ] @
Pokusaj da uhvatis 'exception' sa 'try - catch' naredbom.

Koliko vidim ti koristis Java forName method da pridruzis Java class ime u promenljivu. 'forName' method ti vraca 'exception' zato sto vrednost koju koristis ne evaluira u Java class ime. Stavi 'forName' u 'try - catch' blok da bi mogao da kontrolises 'exception'. Evo kako to mozes da uradis:

function getClass(javaClassName) {
try {
var theClass = java.lang.Class.forName(javaClassName);
} catch (e) {
return ("Ilegalno ime " + e);
}
return theClass
}

Sada ces moci da vidis da ako 'javaClassName' evaluira u legalno ime za klasu, kao na primer "java.lang.String", onda ce proci. Ako javaClassName evaluira u nesto drugo (nelegalno ime) kao na primer "String", u tom slucaju getClass funkcija ce uhvatiti 'exception' i vratice ti nest slicno ovome:

Ilegalno ime java.lang.ClassNotFoundException: String

Pozdrav,
Milovan