click-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Husted <...@husted.com>
Subject Re: GAE and Cayenne don't play together
Date Sun, 05 Jul 2009 12:52:31 GMT
At the end of the day, I'm thinking one of the trade-offs of using
GAE/J is going to be a willingness to use BigTable behind JDO or JPA.

As I understand it, Amazon plays better with conventional systems. The
way to go for Click and Cayenne on the Cloud would be EC2 or stax.net.
Of course, very few applications actually need to be cloud-based
anyway.

Strategically, I need to explore GAE for my own work, which,
ultimately, for me, is going to mean BigTable
<http://en.wikipedia.org/wiki/BigTable>.

-Ted.

On Fri, Jul 3, 2009 at 8:38 PM, Malcolm Edgar<malcolm.edgar@gmail.com> wrote:
> 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)
>>
>

Mime
View raw message