Hi,

the problem is the security-policy of the container I use for my web-application. In this case it's the 'Sun Java System Application Server Platform Edition 8.1'. As Thomas Down suggested, the Server prohibits the creation of ClassLoaders, however they are needed by BioJava. So I tried to customise the Server-configuration 'server.policy'-file by adding a new line. Here is the code fraction:


grant {
   permission java.lang.RuntimePermission  "loadLibrary.*";
      ...
... //new line:
   permission java.lang.RuntimePermission  "createClassLoader";
};


As some ClassLoader seems to have permission now, I think this was the right starting point - and also the exception thrown changed. It's the following:

   org.biojava.bio.BioError: Unable to initialize DNATools
   org.biojava.bio.seq.DNATools.(DNATools.java:119)
   
org.biojava.bio.seq.db.GenbankSequenceDB.getAlphabet(GenbankSequenceDB.java:66)
   
org.biojava.bio.seq.db.GenbankSequenceDB.getSequence(GenbankSequenceDB.java:121)
   rnai.GenbankDownload.loadGenBankSequence(GenbankDownload.java:23)
   rnai.seq_input2.prerender(seq_input2.java:296)
   
com.sun.web.ui.appbase.faces.ViewHandlerImpl.prerender(ViewHandlerImpl.java:788)
   
com.sun.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:282)
   
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
   com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)
   com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
   javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
   sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

   
un.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   java.lang.reflect.Method.invoke(Method.java:585)
   org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
   java.security.AccessController.doPrivileged(Native Method)
   javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
   org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)

   
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
   java.security.AccessController.doPrivileged(Native Method)
   com.sun.web.ui.util.UploadFilter.doFilter(UploadFilter.java:179)

---

DNATools.java calls the following line in AlphabetManager.java:

   InputStream alphabetStream =
   
ClassTools.getClassLoader(AlphabetManager.class).getResourceAsStream("org/biojava/bio/symbol/AlphabetManager.xml");


So I suppose that the change in the Server-Configuration-file is not 'globally enough' to affect all custom ClassLoader-calls. Maybe someone has experienced something similar or knows something about this specific Server?

Thanks,
Felix



--
Felix Dreher
Max-Planck-Institute for Infection Biology
Campus Charité Mitte
Department of Immunology
Mailing address: Schumannstraße 21/22
Visitors: Virchowweg 12
10117 Berlin
Germany
Tel.: +49 (0)30 28460-254 / -494
Mobile: +49 (0)163 7542426

_______________________________________________
Biojava-l mailing list  -  Biojava-l@biojava.org
http://biojava.org/mailman/listinfo/biojava-l

Reply via email to