[
https://issues.apache.org/jira/browse/DIRMINA-659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12725592#action_12725592
]
Jeff Mesnil commented on DIRMINA-659:
-------------------------------------
+1 for documenting it.
As long as the developer can know in advance what permissions are required by
MINA to work in a sandbox, it's fine.
iirc, when I tested MINA in an applet, it was the only permission required.
It's a pity I have to sign the applet to allow MINA to shutdown properly (but
it was a prototype applet and it is likely that a real applet would have to be
signed anyway).
To sum up, +1 to document the permission(s) and close this issue
> 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
> Assignee: Edouard De Oliveira
>
> 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.