It would be good to as the Cayenne community about this, it would not
surprise me if this could be turned off in Cayenne.
regards Malcolm Edgar
On Sat, Jul 4, 2009 at 7:08 AM, Bob Schellink<sabob1@gmail.com> wrote:
> Trying to access Cayenne on GAE throws the exception below.
> Basically GAE doesn't allow creating new Threads, which Cayenne
> EventManager attempts to do.
>
>
> org.apache.cayenne.conf.Configuration initializeSharedConfiguration: Error
> creating shared Configuration:
> java.security.AccessControlException: access denied
> (java.lang.RuntimePermission modifyThreadGroup)
> at java.security.AccessControlContext.checkPermission(Unknown Source)
> at java.security.AccessController.checkPermission(Unknown Source)
> at java.lang.SecurityManager.checkPermission(Unknown Source)
> at
> com.google.apphosting.utils.security.SecurityManagerInstaller$CustomSecurityManager.checkAccess(SecurityManagerInstaller.java:72)
> at java.lang.ThreadGroup.checkAccess(Unknown Source)
> at java.lang.Thread.init(Unknown Source)
> at java.lang.Thread.<init>(Unknown Source)
> at
> org.apache.cayenne.event.EventManager$DispatchThread.<init>(EventManager.java:457)
> at org.apache.cayenne.event.EventManager.<init>(EventManager.java:97)
> at org.apache.cayenne.event.EventManager.<init>(EventManager.java:76)
> at
> org.apache.cayenne.conf.Configuration.<init>(Configuration.java:193)
> at
> org.apache.cayenne.conf.DefaultConfiguration.<init>(DefaultConfiguration.java:58)
> at
> org.apache.cayenne.conf.DefaultConfiguration.<init>(DefaultConfiguration.java:46)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
> Source)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
> Source)
> at java.lang.reflect.Constructor.newInstance(Unknown Source)
> at java.lang.Class.newInstance0(Unknown Source)
> at java.lang.Class.newInstance(Unknown Source)
> at
> org.apache.cayenne.conf.Configuration.initializeSharedConfiguration(Configuration.java:133)
> at
> org.apache.cayenne.conf.Configuration.initializeSharedConfiguration(Configuration.java:121)
> at
> org.apache.cayenne.conf.Configuration.getSharedConfiguration(Configuration.java:91)
> at
> org.apache.cayenne.access.DataContext.createDataContext(DataContext.java:145)
> at
> org.apache.click.extras.cayenne.CayenneTemplate.getDataContext(CayenneTemplate.java:169)
> at
> org.apache.click.extras.cayenne.CayenneTemplate.performQuery(CayenneTemplate.java:276)
> at
> com.mycorp.service.CustomerService.getCustomers(CustomerService.java:29)
> at com.mycorp.page.ViewCustomers.onRender(ViewCustomers.java:76)
> at
> org.apache.click.ClickServlet.performOnRender(ClickServlet.java:666)
> at org.apache.click.ClickServlet.processPage(ClickServlet.java:521)
> at org.apache.click.ClickServlet.handleRequest(ClickServlet.java:339)
> at org.apache.click.ClickServlet.doGet(ClickServlet.java:257)
>
|