You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Matthew Welch <ma...@welchkin.net> on 2009/04/11 16:15:05 UTC

Google App Engine and Wicket

I've been experimenting a bit with Google App Engine and Wicket and things
seemed to work fairly well once I turned off the ModificationWatcher.
However, I realized that my simple tests were all stateless and that once
stateful, Wicket would use the DiskPageStore to write some files, which is
not allowed in the App Engine sandbox. Sure enough, once I added some
stateful pages, I started seeing exceptions related to the DiskPageStore.

I'm a neophyte when it comes to the deep down Wicket internals so I'm not
sure what my other options might be. In a post Matej  Knopp said, ""*
DiskPageStore*'s purpose is to store serialized pages on disk in order to
allow access to previous page versions and also to conserve session memory
usage." This leads me to believe that using the sassion for storing this
information isn't a preferred approach. What about the App Engine's
datastore (an abstration on BigTable)? That seems like it might be too slow
to adequately serve this need, but I'm not sure. A thread on
Wicket/Terracotta integration ended up with an alternative
"SecondLevelCacheSessionStore" but I'm not sure if that is only usable with
Terracotta or if it might might sense in other situations. Any other
options?

Also, looking forward, with the knoledge that writing giles and spawning new
threads are not allowed in the App Engine sandbox, are there any other items
I should be onl the lookout for in Wicket that might make it a poor choice
for this situation?

Matt

Re: Google App Engine and Wicket

Posted by "A. Maza" <an...@gmail.com>.
On 20.10.2009 14:48, richardwilko wrote:
>
> Oh, sorry I just realized that it has the terracotta licence header on it,
> had I realized i would have removed it.  That's because the version of the
> file i had to hand was from the terracotta forge svn repo, and code in there
> has to have their licence.
>
> Originally it was Apache 2 licensed and I would treat it as such.
>

Therefore I was asking. Thanks for the clarification. I will post a 
modified version of the pagestore impl for GAE Memcache to the list as 
soon as I have it ready.

Thanks and regards,

andr





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Google App Engine and Wicket

Posted by richardwilko <ri...@gmail.com>.
Oh, sorry I just realized that it has the terracotta licence header on it,
had I realized i would have removed it.  That's because the version of the
file i had to hand was from the terracotta forge svn repo, and code in there
has to have their licence.

Originally it was Apache 2 licensed and I would treat it as such.

Sorry for the confusion, 

Richard



A. MaOhza wrote:
> 
> On 20.10.2009 13:30, richardwilko wrote:
>>
>> Hi,
>>
>> The Terracotta SecondLevelCacheSessionStore does not contain any
>> Terracotta
>> specific implementation or dependencies, and should work fine on
>> AppEngine
>> (I haven't tested it though).
>>
>> All it is is an implementation of IPageStore, where the pages are
>> serialized
>> to byte arrays (like the disk store), and then these byte arrays are
>> stored
>> in the http session, rather than on disk.  I have attached the file in
>> this
>> thread so you dont need to dig around in the terracotta svn repo.
>>
>> to use it do this in your application class:
>>
>> @Override
>> public ISessionStore newSessionStore() {
>>       return new SecondLevelCacheSessionStore(this,  new
>> TerracottaPageStore(100));
>> }
>>
>> the 100 is the number of versions of pages you want to keep, and can be
>> customized as you feel appropriate.
>>
> 
> 
> Richard,
> 
> thanks a lot for providing the source to me. This is indeed a valuable 
> starting point.
> 
> I just want to make sure that there can't be any copyright issues when I 
> modify the code due to the copyright statement in the header?
> 
> regards,
> andr
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
> 
> 
> 


-----
http://richard-wilkinson.co.uk My blog: http://richard-wilkinson.co.uk 
-- 
View this message in context: http://www.nabble.com/Google-App-Engine-and-Wicket-tp23001592p25974473.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Google App Engine and Wicket

Posted by richardwilko <ri...@gmail.com>.
andr,

>From Wikipedia [1]:

"The Apache License does not require modified versions of the software to be
distributed using the same license nor even that it be distributed as
free/open-source software. The Apache license only requires that a notice is
kept informing recipients that Apache licensed code has been used. Thus, in
contrast to copyleft licenses, recipients of modified versions of Apache
licensed code do not necessarily also get the above freedoms. Or considering
the situation from the Apache licensees perspective, they receive the
freedom to use the code in any way they want, including using it in closed
source products (cf Paragraph 4)."

So basically you can do what you want with it, so long as you leave the
notice intact.  You can read more about the Apache 2 licence on the
internet, I am by no means an expert.

However, if you make any improvements to the code, and are in a position to
do so, then contributing it back would be most welcome :)


[1] http://en.wikipedia.org/wiki/Apache_License

Thanks,

Richard


A. Maza wrote:
> 
> On 20.10.2009 13:30, richardwilko wrote:
>>
>> Hi,
>>
>> The Terracotta SecondLevelCacheSessionStore does not contain any
>> Terracotta
>> specific implementation or dependencies, and should work fine on
>> AppEngine
>> (I haven't tested it though).
>>
>> All it is is an implementation of IPageStore, where the pages are
>> serialized
>> to byte arrays (like the disk store), and then these byte arrays are
>> stored
>> in the http session, rather than on disk.  I have attached the file in
>> this
>> thread so you dont need to dig around in the terracotta svn repo.
>>
>> to use it do this in your application class:
>>
>> @Override
>> public ISessionStore newSessionStore() {
>>       return new SecondLevelCacheSessionStore(this,  new
>> TerracottaPageStore(100));
>> }
>>
>> the 100 is the number of versions of pages you want to keep, and can be
>> customized as you feel appropriate.
>>
> 
> 
> Richard,
> 
> thanks a lot for providing the source to me. This is indeed a valuable 
> starting point.
> 
> I just want to make sure that there can't be any copyright issues when I 
> modify the code due to the copyright statement in the header?
> 
> regards,
> andr
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
> 
> 
> 


-----
http://richard-wilkinson.co.uk My blog: http://richard-wilkinson.co.uk 
-- 
View this message in context: http://www.nabble.com/Google-App-Engine-and-Wicket-tp23001592p25974145.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Google App Engine and Wicket

Posted by "A. Maza" <an...@gmail.com>.
On 20.10.2009 13:30, richardwilko wrote:
>
> Hi,
>
> The Terracotta SecondLevelCacheSessionStore does not contain any Terracotta
> specific implementation or dependencies, and should work fine on AppEngine
> (I haven't tested it though).
>
> All it is is an implementation of IPageStore, where the pages are serialized
> to byte arrays (like the disk store), and then these byte arrays are stored
> in the http session, rather than on disk.  I have attached the file in this
> thread so you dont need to dig around in the terracotta svn repo.
>
> to use it do this in your application class:
>
> @Override
> public ISessionStore newSessionStore() {
>       return new SecondLevelCacheSessionStore(this,  new
> TerracottaPageStore(100));
> }
>
> the 100 is the number of versions of pages you want to keep, and can be
> customized as you feel appropriate.
>


Richard,

thanks a lot for providing the source to me. This is indeed a valuable 
starting point.

I just want to make sure that there can't be any copyright issues when I 
modify the code due to the copyright statement in the header?

regards,
andr

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Re: Google App Engine and Wicket

Posted by richardwilko <ri...@gmail.com>.
Hi,

The Terracotta SecondLevelCacheSessionStore does not contain any Terracotta
specific implementation or dependencies, and should work fine on AppEngine
(I haven't tested it though).

All it is is an implementation of IPageStore, where the pages are serialized
to byte arrays (like the disk store), and then these byte arrays are stored
in the http session, rather than on disk.  I have attached the file in this
thread so you dont need to dig around in the terracotta svn repo.

to use it do this in your application class:

@Override
public ISessionStore newSessionStore() {
     return new SecondLevelCacheSessionStore(this,  new
TerracottaPageStore(100));
}

the 100 is the number of versions of pages you want to keep, and can be
customized as you feel appropriate.

http://www.nabble.com/file/p25973504/TerracottaPageStore.java
TerracottaPageStore.java 

Regards - Richard Wilkinson
Developer,
jWeekend: OO & Java Technologies - Development and Training
http://jWeekend.com

-----
http://richard-wilkinson.co.uk My blog: http://richard-wilkinson.co.uk 
-- 
View this message in context: http://www.nabble.com/Google-App-Engine-and-Wicket-tp23001592p25973504.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Re: Google App Engine and Wicket

Posted by "A. Maza" <an...@gmail.com>.
On 20:59, Eelco Hillenius wrote:

>
> It's probably a good idea to have a specialized implementation of
> ISessionStore for App Engine that uses whatever makes sense with App
> Engine for medium term storage ('cause that's what it is... short term
> storage is the current page, which is typically local memory, and
> older pages are used for the duration of the session, and typically
> just keeping the last few in memory suffices.

I tried to get started with an implementation of ISessionStore for the 
app engine. However, I would rather opt for the Memcache Service [1] 
instead of the datastore due to performance and quota issues. The 
MemcacheService provided by GAE is in effect a JCache implementation.

Regarding a Memcache-based implementation, there rise the following 
questions for me (please take into account that I am rather a 
wicket-beginner):

1) Should the implementation be a specialization of ISessionStore or 
rather IPageStore?
1a) In case of ISessionStore, is it enough to implement the 
"MemcacheSessionStore" like the HTTPSessionStore, but instead of putting 
things into the HTTPSession, they will be put in the Memcache?
1b) In case of IPageStore, does it make sense to adopt some principles 
of the DiskPageStore (and basically switch the file-based saving to a 
cache-based saving)?
2) I digged a bit through the mailing list: Would an implementation such 
as 1a) affect the back/forward button behavior of the browser?

Thanks in advance for your thoughts.

andr


[1] http://code.google.com/appengine/docs/java/memcache/


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Google App Engine and Wicket

Posted by Jeremy Thomerson <je...@wickettraining.com>.
You can get a dedicated server at GoDaddy for under $100 per month.
I've had one running Java / Wicket apps with an uptime of around two
years now.  With your very small load, you could also use
redwoodvirtual and use a Linux Virtual Server for $20 or $40.  I also
had a server with them running for a couple of consecutive years.

I think you're overengineering something that definitely doesn't need it.

--
Jeremy Thomerson
http://www.wickettraining.com




On Mon, May 11, 2009 at 12:03 PM, Jim Pinkham <pi...@gmail.com> wrote:
> I've followed with interest all the wicket on GAE threads I can, and these
> all seem to address necessary minor tweaks to get it set up, but the one big
> thing I haven't seen much discussion on is the BigTable storage system,
> since we wouldn't be able to use MySQL.
>
> Maybe that's the whole point for some folks looking for high scalability,
> but from my perspective, I'm more interested in the idea of a free
> turnkey(ish) Java hosting environment.
>
> I'd like to be able to resell my wicket app (it's a fundraising auction
> system designed for nonprofits) to lots of tiny churches or other nonprofit
> organizations - they typically have no IT experience, so bypassing the
> hosting concerns could be a big win.  Plus, the system would be ultra low
> traffic by google standards especially (maybe 8 concurrent users tops per
> org during peak demand!).
>
> Right now it's 'incubated' as an old underpowered Windows 2000 server
> running Jetty sitting in a closet at my church, where the business class ISP
> licence agreement legally permits it.  Seems like quite a leap to be
> considering GAE, but if it's free and folks trust the availability and I can
> easily configure it for each additional client, that could work out pretty
> well for me.
>
> But of course my system is all heavily SQL oriented - seems like this would
> be a pretty fundamental rewrite for me to go to BigTable, and I was
> wondering if any other wicket developers were also attracted to this type of
> system, for these or other reasons, or whether I should just shell out for
> some shared hosting blades and go for it?
>
> Thanks,
> -- Jim
> On Sun, Apr 12, 2009 at 2:15 PM, Maarten Bosteels
> <mb...@gmail.com>wrote:
>
>> Good news:
>> http://groups.google.com/group/google-appengine-java/msg/f50bbb131dc524c1
>>
>> <quote>
>> "HttpSessions will work out of the box if you enable them in your
>> appengine-web.xml.
>>
>> We do not guarantee that all requests for the same session go to the same
>> JVM, but persistence of sessions is managed behind the scenes with the
>> datastore and memcache.
>>
>> You are, of course, free to use the memcache and/or datastore API's
>> directly
>> if you want more control. "
>> </quote>
>>
>> Maarten
>>
>> On Sun, Apr 12, 2009 at 4:18 PM, Adriano dos Santos Fernandes
>> <ad...@uol.com.br> wrote:
>> > Maarten Bosteels wrote:
>> >>
>> >> But AFAIK GAE doesn't use/guarantee sticky sessions, so I am afraid
>> >> you can't rely on local memory.
>> >>
>> >> "App Engine uses multiple web servers to run your application, and
>> >> automatically adjusts the number of servers it is using to handle
>> >> requests reliably. A given request may be routed to any server, and it
>> >> may not be the same server that handled a previous request from the
>> >> same user."
>> >>
>> >>
>> http://code.google.com/appengine/docs/java/runtime.html#Requests_and_Servlets
>> >>
>> >> It would be interesting to test the performance of an ISessionStore
>> >> backed by the App Engine datastore.
>> >
>> > FYI, I've put a app. with a static variable counter (just a static, not
>> in
>> > session). And since two days there, the counter is maintained.
>> >
>> > So I guess they solution uses something like Terracotta. BTW, they web
>> > server is Jetty.
>> >
>> >
>> > Adriano
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> > For additional commands, e-mail: users-help@wicket.apache.org
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Google App Engine and Wicket

Posted by Jim Pinkham <pi...@gmail.com>.
I've followed with interest all the wicket on GAE threads I can, and these
all seem to address necessary minor tweaks to get it set up, but the one big
thing I haven't seen much discussion on is the BigTable storage system,
since we wouldn't be able to use MySQL.

Maybe that's the whole point for some folks looking for high scalability,
but from my perspective, I'm more interested in the idea of a free
turnkey(ish) Java hosting environment.

I'd like to be able to resell my wicket app (it's a fundraising auction
system designed for nonprofits) to lots of tiny churches or other nonprofit
organizations - they typically have no IT experience, so bypassing the
hosting concerns could be a big win.  Plus, the system would be ultra low
traffic by google standards especially (maybe 8 concurrent users tops per
org during peak demand!).

Right now it's 'incubated' as an old underpowered Windows 2000 server
running Jetty sitting in a closet at my church, where the business class ISP
licence agreement legally permits it.  Seems like quite a leap to be
considering GAE, but if it's free and folks trust the availability and I can
easily configure it for each additional client, that could work out pretty
well for me.

But of course my system is all heavily SQL oriented - seems like this would
be a pretty fundamental rewrite for me to go to BigTable, and I was
wondering if any other wicket developers were also attracted to this type of
system, for these or other reasons, or whether I should just shell out for
some shared hosting blades and go for it?

Thanks,
-- Jim
On Sun, Apr 12, 2009 at 2:15 PM, Maarten Bosteels
<mb...@gmail.com>wrote:

> Good news:
> http://groups.google.com/group/google-appengine-java/msg/f50bbb131dc524c1
>
> <quote>
> "HttpSessions will work out of the box if you enable them in your
> appengine-web.xml.
>
> We do not guarantee that all requests for the same session go to the same
> JVM, but persistence of sessions is managed behind the scenes with the
> datastore and memcache.
>
> You are, of course, free to use the memcache and/or datastore API's
> directly
> if you want more control. "
> </quote>
>
> Maarten
>
> On Sun, Apr 12, 2009 at 4:18 PM, Adriano dos Santos Fernandes
> <ad...@uol.com.br> wrote:
> > Maarten Bosteels wrote:
> >>
> >> But AFAIK GAE doesn't use/guarantee sticky sessions, so I am afraid
> >> you can't rely on local memory.
> >>
> >> "App Engine uses multiple web servers to run your application, and
> >> automatically adjusts the number of servers it is using to handle
> >> requests reliably. A given request may be routed to any server, and it
> >> may not be the same server that handled a previous request from the
> >> same user."
> >>
> >>
> http://code.google.com/appengine/docs/java/runtime.html#Requests_and_Servlets
> >>
> >> It would be interesting to test the performance of an ISessionStore
> >> backed by the App Engine datastore.
> >
> > FYI, I've put a app. with a static variable counter (just a static, not
> in
> > session). And since two days there, the counter is maintained.
> >
> > So I guess they solution uses something like Terracotta. BTW, they web
> > server is Jetty.
> >
> >
> > Adriano
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > For additional commands, e-mail: users-help@wicket.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

Re: Google App Engine and Wicket

Posted by Maarten Bosteels <mb...@gmail.com>.
Good news:  http://groups.google.com/group/google-appengine-java/msg/f50bbb131dc524c1

<quote>
"HttpSessions will work out of the box if you enable them in your
appengine-web.xml.

We do not guarantee that all requests for the same session go to the same
JVM, but persistence of sessions is managed behind the scenes with the
datastore and memcache.

You are, of course, free to use the memcache and/or datastore API's directly
if you want more control. "
</quote>

Maarten

On Sun, Apr 12, 2009 at 4:18 PM, Adriano dos Santos Fernandes
<ad...@uol.com.br> wrote:
> Maarten Bosteels wrote:
>>
>> But AFAIK GAE doesn't use/guarantee sticky sessions, so I am afraid
>> you can't rely on local memory.
>>
>> "App Engine uses multiple web servers to run your application, and
>> automatically adjusts the number of servers it is using to handle
>> requests reliably. A given request may be routed to any server, and it
>> may not be the same server that handled a previous request from the
>> same user."
>>
>> http://code.google.com/appengine/docs/java/runtime.html#Requests_and_Servlets
>>
>> It would be interesting to test the performance of an ISessionStore
>> backed by the App Engine datastore.
>
> FYI, I've put a app. with a static variable counter (just a static, not in
> session). And since two days there, the counter is maintained.
>
> So I guess they solution uses something like Terracotta. BTW, they web
> server is Jetty.
>
>
> Adriano
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Google App Engine and Wicket

Posted by Adriano dos Santos Fernandes <ad...@uol.com.br>.
Maarten Bosteels wrote:
> But AFAIK GAE doesn't use/guarantee sticky sessions, so I am afraid
> you can't rely on local memory.
>
> "App Engine uses multiple web servers to run your application, and
> automatically adjusts the number of servers it is using to handle
> requests reliably. A given request may be routed to any server, and it
> may not be the same server that handled a previous request from the
> same user."
> http://code.google.com/appengine/docs/java/runtime.html#Requests_and_Servlets
>
> It would be interesting to test the performance of an ISessionStore
> backed by the App Engine datastore.
FYI, I've put a app. with a static variable counter (just a static, not 
in session). And since two days there, the counter is maintained.

So I guess they solution uses something like Terracotta. BTW, they web 
server is Jetty.


Adriano


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Google App Engine and Wicket

Posted by Maarten Bosteels <mb...@gmail.com>.
But AFAIK GAE doesn't use/guarantee sticky sessions, so I am afraid
you can't rely on local memory.

"App Engine uses multiple web servers to run your application, and
automatically adjusts the number of servers it is using to handle
requests reliably. A given request may be routed to any server, and it
may not be the same server that handled a previous request from the
same user."
http://code.google.com/appengine/docs/java/runtime.html#Requests_and_Servlets

It would be interesting to test the performance of an ISessionStore
backed by the App Engine datastore.

Maarten

On Sun, Apr 12, 2009 at 8:00 AM, Eelco Hillenius
<ee...@gmail.com> wrote:
>> Both articles avoid the DiskPageStore problem by using the HttpSessionStore,
>> however if you do a search through the mailing list archives for
>> HttpSessionStore you'll find numerous references to problems in using it in
>> the long term and especially in a real, production application, so I don't
>> think that's a good long term solution, so my original question still
>> stands. Is there an alternative or is Wicket perhaps not well suited for use
>> in the App Engine.
>
> It's probably a good idea to have a specialized implementation of
> ISessionStore for App Engine that uses whatever makes sense with App
> Engine for medium term storage ('cause that's what it is... short term
> storage is the current page, which is typically local memory, and
> older pages are used for the duration of the session, and typically
> just keeping the last few in memory suffices.
>
> Eelco
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Google App Engine and Wicket

Posted by Eelco Hillenius <ee...@gmail.com>.
> Both articles avoid the DiskPageStore problem by using the HttpSessionStore,
> however if you do a search through the mailing list archives for
> HttpSessionStore you'll find numerous references to problems in using it in
> the long term and especially in a real, production application, so I don't
> think that's a good long term solution, so my original question still
> stands. Is there an alternative or is Wicket perhaps not well suited for use
> in the App Engine.

It's probably a good idea to have a specialized implementation of
ISessionStore for App Engine that uses whatever makes sense with App
Engine for medium term storage ('cause that's what it is... short term
storage is the current page, which is typically local memory, and
older pages are used for the duration of the session, and typically
just keeping the last few in memory suffices.

Eelco

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Google App Engine and Wicket

Posted by Matt Welch <ma...@welchkin.net>.
Both articles avoid the DiskPageStore problem by using the HttpSessionStore,
however if you do a search through the mailing list archives for
HttpSessionStore you'll find numerous references to problems in using it in
the long term and especially in a real, production application, so I don't
think that's a good long term solution, so my original question still
stands. Is there an alternative or is Wicket perhaps not well suited for use
in the App Engine.

Matt




ptrthomas wrote:
> 
> Here's another article about Wicket and GAE on DZone:
> 
> http://www.dzone.com/links/rss/wicket_on_google_app_engine.html
> 
> On Sat, Apr 11, 2009 at 8:22 AM, Sergey Podatelev <
> brightnesslevels@gmail.com> wrote:
> 
>> Here are a couple of pointers regarding Wicket on GAE:
>>
>>
>> http://www.danwalmsley.com/2009/04/08/apache-wicket-on-google-app-engine-for-java/
>>
>> On Sat, Apr 11, 2009 at 6:15 PM, Matthew Welch <ma...@welchkin.net>
>> wrote:
>> > I've been experimenting a bit with Google App Engine and Wicket and
>> things
>> > seemed to work fairly well once I turned off the ModificationWatcher.
>> > However, I realized that my simple tests were all stateless and that
>> once
>> > stateful, Wicket would use the DiskPageStore to write some files, which
>> is
>> > not allowed in the App Engine sandbox. Sure enough, once I added some
>> > stateful pages, I started seeing exceptions related to the
>> DiskPageStore.
>> >
>> > I'm a neophyte when it comes to the deep down Wicket internals so I'm
>> not
>> > sure what my other options might be. In a post Matej  Knopp said, ""*
>> > DiskPageStore*'s purpose is to store serialized pages on disk in order
>> to
>> > allow access to previous page versions and also to conserve session
>> memory
>> > usage." This leads me to believe that using the sassion for storing
>> this
>> > information isn't a preferred approach. What about the App Engine's
>> > datastore (an abstration on BigTable)? That seems like it might be too
>> slow
>> > to adequately serve this need, but I'm not sure. A thread on
>> > Wicket/Terracotta integration ended up with an alternative
>> > "SecondLevelCacheSessionStore" but I'm not sure if that is only usable
>> with
>> > Terracotta or if it might might sense in other situations. Any other
>> > options?
>> >
>> > Also, looking forward, with the knoledge that writing giles and
>> spawning
>> new
>> > threads are not allowed in the App Engine sandbox, are there any other
>> items
>> > I should be onl the lookout for in Wicket that might make it a poor
>> choice
>> > for this situation?
>> >
>> > Matt
>> >
>>
>>
>>
>> --
>> sp
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/Google-App-Engine-and-Wicket-tp23001592p23007684.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Google App Engine and Wicket

Posted by Peter Thomas <pt...@gmail.com>.
Here's another article about Wicket and GAE on DZone:

http://www.dzone.com/links/rss/wicket_on_google_app_engine.html

On Sat, Apr 11, 2009 at 8:22 AM, Sergey Podatelev <
brightnesslevels@gmail.com> wrote:

> Here are a couple of pointers regarding Wicket on GAE:
>
>
> http://www.danwalmsley.com/2009/04/08/apache-wicket-on-google-app-engine-for-java/
>
> On Sat, Apr 11, 2009 at 6:15 PM, Matthew Welch <ma...@welchkin.net>
> wrote:
> > I've been experimenting a bit with Google App Engine and Wicket and
> things
> > seemed to work fairly well once I turned off the ModificationWatcher.
> > However, I realized that my simple tests were all stateless and that once
> > stateful, Wicket would use the DiskPageStore to write some files, which
> is
> > not allowed in the App Engine sandbox. Sure enough, once I added some
> > stateful pages, I started seeing exceptions related to the DiskPageStore.
> >
> > I'm a neophyte when it comes to the deep down Wicket internals so I'm not
> > sure what my other options might be. In a post Matej  Knopp said, ""*
> > DiskPageStore*'s purpose is to store serialized pages on disk in order to
> > allow access to previous page versions and also to conserve session
> memory
> > usage." This leads me to believe that using the sassion for storing this
> > information isn't a preferred approach. What about the App Engine's
> > datastore (an abstration on BigTable)? That seems like it might be too
> slow
> > to adequately serve this need, but I'm not sure. A thread on
> > Wicket/Terracotta integration ended up with an alternative
> > "SecondLevelCacheSessionStore" but I'm not sure if that is only usable
> with
> > Terracotta or if it might might sense in other situations. Any other
> > options?
> >
> > Also, looking forward, with the knoledge that writing giles and spawning
> new
> > threads are not allowed in the App Engine sandbox, are there any other
> items
> > I should be onl the lookout for in Wicket that might make it a poor
> choice
> > for this situation?
> >
> > Matt
> >
>
>
>
> --
> sp
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

Re: Google App Engine and Wicket

Posted by Sergey Podatelev <br...@gmail.com>.
Here are a couple of pointers regarding Wicket on GAE:

http://www.danwalmsley.com/2009/04/08/apache-wicket-on-google-app-engine-for-java/

On Sat, Apr 11, 2009 at 6:15 PM, Matthew Welch <ma...@welchkin.net> wrote:
> I've been experimenting a bit with Google App Engine and Wicket and things
> seemed to work fairly well once I turned off the ModificationWatcher.
> However, I realized that my simple tests were all stateless and that once
> stateful, Wicket would use the DiskPageStore to write some files, which is
> not allowed in the App Engine sandbox. Sure enough, once I added some
> stateful pages, I started seeing exceptions related to the DiskPageStore.
>
> I'm a neophyte when it comes to the deep down Wicket internals so I'm not
> sure what my other options might be. In a post Matej  Knopp said, ""*
> DiskPageStore*'s purpose is to store serialized pages on disk in order to
> allow access to previous page versions and also to conserve session memory
> usage." This leads me to believe that using the sassion for storing this
> information isn't a preferred approach. What about the App Engine's
> datastore (an abstration on BigTable)? That seems like it might be too slow
> to adequately serve this need, but I'm not sure. A thread on
> Wicket/Terracotta integration ended up with an alternative
> "SecondLevelCacheSessionStore" but I'm not sure if that is only usable with
> Terracotta or if it might might sense in other situations. Any other
> options?
>
> Also, looking forward, with the knoledge that writing giles and spawning new
> threads are not allowed in the App Engine sandbox, are there any other items
> I should be onl the lookout for in Wicket that might make it a poor choice
> for this situation?
>
> Matt
>



-- 
sp

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Google App Engine and Wicket

Posted by Scott Swank <sc...@gmail.com>.
Here's a minor point that tripped me up.  I have my WicketFilter
mapped to a given path:

	<filter-mapping>
		<filter-name>WicketFilter</filter-name>
		<url-pattern>/evansforlv/*</url-pattern>
	</filter-mapping>

And then when I start up my local app and browse to

localhost:8080/evansforlv

I get redirected by Jetty to

localhost:8080/evansforlv/

with a trailing "/".  GAE is not so kind.  You must add the trailing
"/" to your url or you will simply get a blank page.  Since you are
never sent to the WicketFilter nothing is logged.  It's just a silent
failure.

Cheers,
Scott


On Mon, May 11, 2009 at 11:26 AM, Juha Palomäki<ju...@gmail.com> wrote:
> File uploads seem to be causing some problems. On Wicket uploaded
> files are first written to some temporary file and on AppEngine this
> is obviously not possible. I haven't yet investigated if it is easy to
> change this behavior in Wicket. Another option might be to write a
> separate servlet for just handling the uploads,
> http://code.google.com/appengine/kb/java.html#fileforms
>
> Br,
> Juha
>
> On Sat, Apr 11, 2009 at 5:15 PM, Matthew Welch <ma...@welchkin.net> wrote:
>> I've been experimenting a bit with Google App Engine and Wicket and things
>> seemed to work fairly well once I turned off the ModificationWatcher.
>> However, I realized that my simple tests were all stateless and that once
>> stateful, Wicket would use the DiskPageStore to write some files, which is
>> not allowed in the App Engine sandbox. Sure enough, once I added some
>> stateful pages, I started seeing exceptions related to the DiskPageStore.
>>
>> I'm a neophyte when it comes to the deep down Wicket internals so I'm not
>> sure what my other options might be. In a post Matej  Knopp said, ""*
>> DiskPageStore*'s purpose is to store serialized pages on disk in order to
>> allow access to previous page versions and also to conserve session memory
>> usage." This leads me to believe that using the sassion for storing this
>> information isn't a preferred approach. What about the App Engine's
>> datastore (an abstration on BigTable)? That seems like it might be too slow
>> to adequately serve this need, but I'm not sure. A thread on
>> Wicket/Terracotta integration ended up with an alternative
>> "SecondLevelCacheSessionStore" but I'm not sure if that is only usable with
>> Terracotta or if it might might sense in other situations. Any other
>> options?
>>
>> Also, looking forward, with the knoledge that writing giles and spawning new
>> threads are not allowed in the App Engine sandbox, are there any other items
>> I should be onl the lookout for in Wicket that might make it a poor choice
>> for this situation?
>>
>> Matt
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Google App Engine and Wicket

Posted by Juha Palomäki <ju...@gmail.com>.
File uploads seem to be causing some problems. On Wicket uploaded
files are first written to some temporary file and on AppEngine this
is obviously not possible. I haven't yet investigated if it is easy to
change this behavior in Wicket. Another option might be to write a
separate servlet for just handling the uploads,
http://code.google.com/appengine/kb/java.html#fileforms

Br,
Juha

On Sat, Apr 11, 2009 at 5:15 PM, Matthew Welch <ma...@welchkin.net> wrote:
> I've been experimenting a bit with Google App Engine and Wicket and things
> seemed to work fairly well once I turned off the ModificationWatcher.
> However, I realized that my simple tests were all stateless and that once
> stateful, Wicket would use the DiskPageStore to write some files, which is
> not allowed in the App Engine sandbox. Sure enough, once I added some
> stateful pages, I started seeing exceptions related to the DiskPageStore.
>
> I'm a neophyte when it comes to the deep down Wicket internals so I'm not
> sure what my other options might be. In a post Matej  Knopp said, ""*
> DiskPageStore*'s purpose is to store serialized pages on disk in order to
> allow access to previous page versions and also to conserve session memory
> usage." This leads me to believe that using the sassion for storing this
> information isn't a preferred approach. What about the App Engine's
> datastore (an abstration on BigTable)? That seems like it might be too slow
> to adequately serve this need, but I'm not sure. A thread on
> Wicket/Terracotta integration ended up with an alternative
> "SecondLevelCacheSessionStore" but I'm not sure if that is only usable with
> Terracotta or if it might might sense in other situations. Any other
> options?
>
> Also, looking forward, with the knoledge that writing giles and spawning new
> threads are not allowed in the App Engine sandbox, are there any other items
> I should be onl the lookout for in Wicket that might make it a poor choice
> for this situation?
>
> Matt
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org