[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