[Biojava-l] Problem with downloading Genbank-sequence
Felix Dreher
dreher at mpiib-berlin.mpg.de
Thu Dec 1 12:11:48 EST 2005
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
More information about the Biojava-l
mailing list