2010-04-25 7 views
11

J'utilise Google App Engine pour traiter les messages Paypal IPN, quand mon servlet commence-je utiliser les lignes suivantes pour démarrer un autre processus pour traiter les massages:problème Google App Engine modifyThreadGroup

public class PayPal_Monitor_Servlet extends HttpServlet 
{ 
    PayPal_Message_To_License_File_Worker PayPal_message_to_license_file_worker; 

    public void init(ServletConfig config) throws ServletException    // Initializes the servlet. 
    { 
    super.init(config); 
    PayPal_message_to_license_file_worker=new PayPal_Message_To_License_File_Worker(); 
    } 

    public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException 
    { 
    } 

... 
} 

public class PayPal_Message_To_License_File_Worker implements Runnable 
{ 
    static Thread PayPal_Message_To_License_File_Thread; 
... 

    PayPal_Message_To_License_File_Worker() 
    { 
    start(); 
    } 

    void start() 
    { 
    if (PayPal_Message_To_License_File_Thread==null) 
    { 
     PayPal_Message_To_License_File_Thread=new Thread(this); 
     PayPal_Message_To_License_File_Thread.setPriority(Thread.MIN_PRIORITY); 
     PayPal_Message_To_License_File_Thread.start(); 
    } 
... 
    } 

Mais « PayPal_Message_To_License_File_Thread = new Fil (ceci); " Cause l'erreur suivante:

javax.servlet.ServletContext log: unavailable 
java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup) 
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:355) 
    at java.security.AccessController.checkPermission(AccessController.java:567) 

Pourquoi, comment résoudre ce problème?

Frank

Répondre

14

Vous ne pouvez pas utiliser de threads dans GAE. Voici une liste de things you cannot do in GAE:

Si vous voulez faire quelque chose de manière asynchrone, regardez dans TaskQueues.

+3

Mise à jour de fin 2012: vous pouvez utiliser des threads sur App Engine, mais avec certaines limitations: https://developers.google.com/appengine/docs/java/runtime#The_Sandbox –