[ 
https://issues.apache.org/jira/browse/DIRMINA-659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680896#action_12680896
 ] 

Julien Vermillard commented on DIRMINA-659:
-------------------------------------------

Apparently it's needed by : 
http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ExecutorService.html#shutdown()
I'm no expert in applet and security what do you expect us to do ?

> AccessControlException when running MINA in a Applet: RuntimePermission 
> "modifyThread"
> --------------------------------------------------------------------------------------
>
>                 Key: DIRMINA-659
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-659
>             Project: MINA
>          Issue Type: Bug
>    Affects Versions: 2.0.0-M4
>         Environment: Java 5 Applet (using appletviewer)
>            Reporter: Jeff Mesnil
>
> I'm using MINA 2.0.0-M4 within a restricted environment (an Applet in my 
> case, could also be JNLP).
> When running the code in appletviewer, I need to add a permission for the 
> code to be executed successfully:
>      permission java.lang.RuntimePermission "modifyThread";
> If I don't add this permission, the code fails with the following stack trace:
> Exception in thread "pool-2-thread-1" java.security.AccessControlException: 
> access denied (java.lang.RuntimePermission modifyThread)
>       at 
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
>       at 
> java.security.AccessController.checkPermission(AccessController.java:427)
>       at 
> java.util.concurrent.ThreadPoolExecutor.shutdown(ThreadPoolExecutor.java:893)
>       at 
> org.apache.mina.core.service.SimpleIoProcessorPool.dispose(SimpleIoProcessorPool.java:230)
>       at 
> org.apache.mina.core.polling.AbstractPollingIoConnector$Connector.run(AbstractPollingIoConnector.java:512)
>       at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:65)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>       at java.lang.Thread.run(Thread.java:613)
> The exception occurs when I close the SocketConnector:
>    public synchronized void close()
>    {
>       if (connector != null)
>       {
>          connector.dispose();
>          connector = null;
>       }
>    }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to