[appengine-java] Re: RESTfull - JAX-RS and GAE/J

2010-01-17 Thread andy.booth
Have you put the three .jar files in war\WEB-INF\lib too? It can't
find the base Servlet for Resteasy.

I don't think there's a huge benefit of trying to implement a standard
that is already done by Jersey, Resteasy, Restlet and Apache Wink,
which already provides a useful set of choices.

My issue with JAX-RS and Guice together has been initialization time -
in the 6 - 10 second region, with JPA and a templating framework,
rather than the lengthy times suggested with other types of web
framework. In particular, I switch off all class path scanning for
Resource and Providers in Jersey. In fact looking at the documentation
for Resteasy, their property of resteasy.scan = false seems quite good
in this regard. So I might consider moving over to Resteasy.

And many of the JAX-RS implementations add GZIP and Etag type plugins
that help create elegant REST applications. Which would take time with
a custom implementation.

Andy



On Jan 16, 10:19 pm, ChrisDane gregersen@gmail.com wrote:
 Thanks Jeff,

 Thanks, I am just trying to set it up:

 1) Downloaded the latest(1.2.1.GA)
 2) In Eclipse created a new GAE Project
 3) I have been looking in the book RESTful Java with JAX-RS, 1st
 Edition - found the sample code for oreilly-workbook/ex03_1
 4) Copied the ( Customer.java  CustomerResource.java 
 ShoppingApplication.java ) classes to my new GAE project.
 5) Added to Class Path: serverlet-api-2.5.jar   
 webserver-1.3.3.jar     jsr311-api-1.1.jar
 6) Changed the web.xml serverlet to :

 web-app xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
 xmlns=http://java.sun.com/xml/ns/javaee;
 xmlns:web=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd;
 xsi:schemaLocation=http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd;
  version=2.5
     display-nameArchetype Created Web Application/display-name

     servlet
         servlet-nameResteasy/servlet-name
         servlet-
 classorg.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher/
 servlet-class
         init-param
             param-namejavax.ws.rs.Application/param-name
             param-
 valuecom.restfully.shop.services.ShoppingApplication/param-value
         /init-param
     /servlet

     servlet-mapping
         servlet-nameResteasy/servlet-name
         url-pattern/*/url-pattern
     /servlet-mapping
         welcome-file-list
                 welcome-fileindex.html/welcome-file
         /welcome-file-list
 /web-app

 7) And I am getting an Error:
 ..
 com.google.apphosting.utils.jetty.JettyLogger warn
 WARNING: EXCEPTION
 java.lang.ClassNotFoundException:
 org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
 .

 Can you point out anything in my steps that I am doing wrong?

 Lastly, would I loos anything if I figured out to implement my own
 javax.ws.rs.Application?

 Thanks again
 Regards
 ChrisDane

 On Jan 16, 10:23 pm, Jeff Schnitzer j...@infohazard.org wrote:



  JBoss Resteasy works fine without any special customization for GAE.
  I use it extensively.

 http://www.jboss.org/resteasy

  Jeff

  On Sat, Jan 16, 2010 at 1:09 PM, ChrisDane gregersen@gmail.com wrote:
   Hi there,
   Has anyone seen any examples on using only JAX-RS on GAE.

   Implementing the javax.ws.rs.core.Application and A resource Class
   etc?

   Thanks in advance
   Regards
   ChrisDane

   --
   You received this message because you are subscribed to the Google Groups 
   Google App Engine for Java group.
   To post to this group, send email to 
   google-appengine-j...@googlegroups.com.
   To unsubscribe from this group, send email to 
   google-appengine-java+unsubscr...@googlegroups.com.
   For more options, visit this group 
   athttp://groups.google.com/group/google-appengine-java?hl=en.
-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.




[appengine-java] Re: Can an Integer be a primary key for JDO?

2010-01-17 Thread Bert Peters
Thank you. This was the information I needed. Data reduction was no
goal, i just needed a numeric key.

On Jan 16, 10:03 pm, Jeff Schnitzer j...@infohazard.org wrote:
 I don't know what JDO will do, but I can tell you that this won't help
 you reduce data storage requirements, if that is your goal.

 Some things to know about the Low-Level API, and thus any layer on top
 (JDO, JPA, Objectify, Twig, whatever):

  * Numeric keys will be persisted as a Long (or String).

  * All numeric property values get persisted as a Long (even if they
 get converted back to something smaller by the library).

 JeffOn Sat, Jan 16, 2010 at 5:59 AM, Bert Peters bert.ljpet...@gmail.com 
 wrote:
  Thank you for that information, but that's not what i meant.
  What i did mean is whether this is correct/possible:

  @PrimaryKey
  @Persistent(idGeneratorStrategy=INCREMENT)
  private Integer id;

  On Jan 16, 2:25 pm, jd jdpatter...@gmail.com wrote:
  Keys can either have a system generated long id (not set by you) or
  a String name.

  There used to be no way to create an Entity with a long - but now (as
  of 1.2.7?) there is a constructor Entity(Key) and you can create a key
  with a long.  But the docs say:

  Creating an entity for the purpose of insertion (as opposed to
  update) with a key that has its id field set is strongly discouraged
  unless the key was returned by a KeyRange.

  So basically the answer is still no.

  Twig gets around this by converting whatever field you declare as a
  @Key into a String and back again - even Integers.

  On Jan 16, 7:02 pm, Bert Peters bert.ljpet...@gmail.com wrote:

   I was just wondering whether I could use an Integer for a primary key
   in JDO, as it would be a great convenience in my application.
   I couldn't really find an answer to this in the documentation, so I
   ask you. Can I?

  --
  You received this message because you are subscribed to the Google Groups 
  Google App Engine for Java group.
  To post to this group, send email to google-appengine-j...@googlegroups.com.
  To unsubscribe from this group, send email to 
  google-appengine-java+unsubscr...@googlegroups.com.
  For more options, visit this group 
  athttp://groups.google.com/group/google-appengine-java?hl=en.
-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.




[appengine-java] Memcache data life cycle

2010-01-17 Thread Max
Hi GAE gurus,

Is there anyone who can tell me the life-cycle of data cached in
memcache?

I found those cached in memcache won't be expired even I re-deploy my
project. Does that means I can use it like a datastore without
transaction support?

Best regards,
Max
-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.




Re: [appengine-java] Memcache data life cycle

2010-01-17 Thread Qian Qiao
On Sun, Jan 17, 2010 at 19:04, Max thebb...@gmail.com wrote:
 Hi GAE gurus,

 Is there anyone who can tell me the life-cycle of data cached in
 memcache?

 I found those cached in memcache won't be expired even I re-deploy my
 project. Does that means I can use it like a datastore without
 transaction support?

 Best regards,
 Max

No, you can't use it as a datastore, it is only a cache as the name
suggests, even if you set the cache entries to never expire, it might
end up being replaced when the underlying system thinks necessary.

-- Joe

-- 
Two things that are infinite, the universe and my stupidity, and I'm
not sure about the universe.
-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.




[appengine-java] AppEngine returns SUCCESS status even if it fails to process Chat Msg

2010-01-17 Thread Prashant Gupta
Hi,

I have noticed that sometimes AppEngine fails to process some Chat Msgs
(requests), especially when it receives a (Chat Msg) request after a long
gap (5 min in my case) or when request rate is high, showing following error
in logs and returns status SUCCESS.

W01-17 03:19AM 26.384

Request was aborted after waiting too long to attempt to service your
request. Most likely, this indicates that you have reached your
simultaneous dynamic request limit. This is almost always due to
excessively high latency in your app. Please see
http://code.google.com/appengine/docs/quotas.html for more details.


I have also checked that AppEngine doesn't reprocesses those failed Chat
Msgs (requests) as it does for failed inbound mails. If it not reprocessing
the failed request then why it returns status SUCCESS ? I remember, earlier
AppEngine used to reprocess failed Chat Msgs also, why it doesn't now? Has
it stopped reprocessing failed inbound mails also??


--
Prashant
-- 

You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group.

To post to this group, send email to google-appengine-j...@googlegroups.com.

To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Serious datastore problem

2010-01-17 Thread Max
I can't find way to report serious problem.
We have uploaded real customer data and there is bug in datastore
results.

But I can't find way to send screenshots and queries that will not be
seem by everyone.
I can't show customer emails or IDs.

In short problem is that when I do following query (I have changed IDs
and table names)

SELECT * FROM Table1 WHERE ctime = DATETIME('2009-12-01 00:00:00')
ORDER BY ctime

key - is key
cid - is indexed long
ctime - is indexed date

first 2 lines are
cid:1234cid:2009-12-01 00:00:37
cid:2345ctime:2009-12-01 00:01:11

when I filter it to show cis=2345 only

SELECT * FROM Table1 WHERE cid= 2345 and ctime = DATETIME('2009-12-01
00:00:00') ORDER BY ctime


first 2 lines are
cid:2345ctime:2009-12-01 00:03:26
cid:2345ctime:2009-12-01 00:15:09




I expected to see cid:2345 ctime:2009-12-01 00:01:11  as first line
in second query.
But it is missing.

We have uploaded 5,426,307 entities (9 GBytes) data to datastore and
our report for December 2009  till now showed that
countMissing = 28253
countExists = 17555



How can I contact you privately? This data is stored on paid account.

Thanks, Max
-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.




[appengine-java] Re: App Engine cold starts and overly aggressive cycling

2010-01-17 Thread WSouza
Mine happens at pretty random rates too

 - What is your application ID?
footbattle

 - How do you know it is being cycled out? You'll need to insert some code
 that only gets called when the app cold starts.
Random Request was aborted after waiting too long to attempt to
service your request. with about 10s and 0s cpu all over the day, and
when it happens, it keeps happening at high rates for a couple
minutes. I know that happens at a 100% rate after I upload a new
version, but it happens at random during the day too, and a lot. (I
don't know if that is a cold start or not, but the symptoms look the
same)

 - How much time of inactivity does it take before your application is cycled 
 out?
Less than one second to a couple seconds, I have more than 400.000
requests a day with about 800 active users, at the requests per second
chart, the lowest it gets is about 3-4 requests per second.

 - What frameworks or libraries are you loading?
None, just a light-weight home-made one, and we use the low-level API
to avoid performance losses.




On Jan 16, 7:44 am, Jorge athenas...@gmail.com wrote:
  - What is your application ID?

 wcondominios

  - How do you know it is being cycled out? You'll need to insert some code
  that only gets called when the app cold starts.

 I just see incredibly long response times. This, for instance:

 #
 01-16 04:29AM 02.107 / 302 4752ms 6718cpu_ms 126api_cpu_ms 0kb Mozilla/
 5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like
 Gecko) Chrome/3.0.195.38 Safari/532.0,gzip(gfe)
 See details

 While the usual, once the app is warm is more like this:

 #
 01-16 04:30AM 20.341 / 302 183ms 191cpu_ms 95api_cpu_ms 0kb Mozilla/
 5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like
 Gecko) Chrome/3.0.195.38 Safari/532.0,gzip(gfe)
 See details

  - How much time of inactivity does it take before your application is cycled
  out?

 Very random, from a few seconds to a few  hours.

  - What time or days does this seem to happen?

 Random

  - What frameworks or libraries are you loading?

 None. Plain JSPs and Servlets

 Hope this helps. This is one of the major concerns i have after having
 adopted GAE to host this app. I see this as an issue in the current
 preview GAE and I am confident it will be solved some time soon.

 Thanks,

 Jorge Gonzalez

 On Jan 15, 5:32 pm, Ikai Lan i...@google.com wrote:



  Hey everybody,

  We've been seeing more and more reports of applications being cycled out
  overly aggressively, resulting in some folks implementing (discouraged)
  workarounds to keep their application from being cycled out. The primary
  symptom of this problem is that your application will see lots of loading
  requests that fire up a new JVM, which, as many of you know can take
  anywhere from a few seconds with naked servlets to as much as twenty seconds
  when loading something like Spring MVC, JRuby on Rails or Grails.

  In theory, there is enough capacity such that as long as you get some
  traffic every few hours, you should not be getting cycled out, but we have
  been seeing reports of applications being cycled after only a minute or
  less. To help us figure out if these are app specific issues or App Engine
  issues, can you post the following information if you believe this is
  happening to you?

  - What is your application ID?
  - How do you know it is being cycled out? You'll need to insert some code
  that only gets called when the app cold starts.
  - How much time of inactivity does it take before your application is cycled
  out?
  - What time or days does this seem to happen?
  - What frameworks or libraries are you loading?

  Any other information you can provide would be helpful.

  --
  Ikai Lan
  Developer Programs Engineer, Google App Engine
-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.




[appengine-java] Re: String as Primary key in JDO

2010-01-17 Thread Sahil Mahajan
Thanks Chau Huynh

Regards
Sahil

On Jan 17, 12:32 pm, Chau Huynh cmhu...@gmail.com wrote:
 Queries must go with indexes 
 (http://code.google.com/appengine/docs/java/datastore/queriesandindexe...)
 For the column, you can store it as lowercase/uppercase,
 For the display column, you can store the original value.

 On Sun, Jan 17, 2010 at 2:15 PM, Sahil Mahajan sahilm2...@gmail.com wrote:
  Isn't there any other way.
  I want to avoid toLowerCase().
  I want String to be case insensitive for database, but while
  displaying String to user I would like it to conserve case..
  I can compare strings through equalsIgnoreCase. But then I won't be
  able to make effective use of primary key.

  On Jan 17, 11:34 am, jd jdpatter...@gmail.com wrote:
   Just String#toLowerCase() the key when you store them

   On Jan 17, 1:11 am, sahil mahajan sahilm2...@gmail.com wrote:

I am using String as primary key in JDO. But it is case sensitive. It
considers name and NAME as different. Can I make it case sensitive?

--
Regards
Sahil Mahajan

  --
  You received this message because you are subscribed to the Google Groups
  Google App Engine for Java group.
  To post to this group, send email to
  google-appengine-j...@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com
  .
  For more options, visit this group at
 http://groups.google.com/group/google-appengine-java?hl=en.
-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.




[appengine-java] Re: RESTfull - JAX-RS and GAE/J

2010-01-17 Thread ChrisDane
Thanks Andy,
I Just got it working, by adding alle the jar files from the
1.2.1.GA lib folder into my WAR/WEB-INF/lib... Question is do you
need alle the jar files in order to make it work?

/Christian

org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher

On Jan 17, 11:05 am, andy.booth andy.booth...@googlemail.com
wrote:
 Have you put the three .jar files in war\WEB-INF\lib too? It can't
 find the base Servlet for Resteasy.

 I don't think there's a huge benefit of trying to implement a standard
 that is already done by Jersey, Resteasy, Restlet and Apache Wink,
 which already provides a useful set of choices.

 My issue with JAX-RS and Guice together has been initialization time -
 in the 6 - 10 second region, with JPA and a templating framework,
 rather than the lengthy times suggested with other types of web
 framework. In particular, I switch off all class path scanning for
 Resource and Providers in Jersey. In fact looking at the documentation
 for Resteasy, their property of resteasy.scan = false seems quite good
 in this regard. So I might consider moving over to Resteasy.

 And many of the JAX-RS implementations add GZIP and Etag type plugins
 that help create elegant REST applications. Which would take time with
 a custom implementation.

 Andy

 On Jan 16, 10:19 pm, ChrisDane gregersen@gmail.com wrote:



  Thanks Jeff,

  Thanks, I am just trying to set it up:

  1) Downloaded the latest(1.2.1.GA)
  2) In Eclipse created a new GAE Project
  3) I have been looking in the book RESTful Java with JAX-RS, 1st
  Edition - found the sample code for oreilly-workbook/ex03_1
  4) Copied the ( Customer.java  CustomerResource.java 
  ShoppingApplication.java ) classes to my new GAE project.
  5) Added to Class Path: serverlet-api-2.5.jar   
  webserver-1.3.3.jar     jsr311-api-1.1.jar
  6) Changed the web.xml serverlet to :

  web-app xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
  xmlns=http://java.sun.com/xml/ns/javaee;
  xmlns:web=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd;
  xsi:schemaLocation=http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/we...;
   version=2.5
      display-nameArchetype Created Web Application/display-name

      servlet
          servlet-nameResteasy/servlet-name
          servlet-
  classorg.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher/
  servlet-class
          init-param
              param-namejavax.ws.rs.Application/param-name
              param-
  valuecom.restfully.shop.services.ShoppingApplication/param-value
          /init-param
      /servlet

      servlet-mapping
          servlet-nameResteasy/servlet-name
          url-pattern/*/url-pattern
      /servlet-mapping
          welcome-file-list
                  welcome-fileindex.html/welcome-file
          /welcome-file-list
  /web-app

  7) And I am getting an Error:
  ..
  com.google.apphosting.utils.jetty.JettyLogger warn
  WARNING: EXCEPTION
  java.lang.ClassNotFoundException:
  org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
  .

  Can you point out anything in my steps that I am doing wrong?

  Lastly, would I loos anything if I figured out to implement my own
  javax.ws.rs.Application?

  Thanks again
  Regards
  ChrisDane

  On Jan 16, 10:23 pm, Jeff Schnitzer j...@infohazard.org wrote:

   JBoss Resteasy works fine without any special customization for GAE.
   I use it extensively.

  http://www.jboss.org/resteasy

   Jeff

   On Sat, Jan 16, 2010 at 1:09 PM, ChrisDane gregersen@gmail.com 
   wrote:
Hi there,
Has anyone seen any examples on using only JAX-RS on GAE.

Implementing the javax.ws.rs.core.Application and A resource Class
etc?

Thanks in advance
Regards
ChrisDane

--
You received this message because you are subscribed to the Google 
Groups Google App Engine for Java group.
To post to this group, send email to 
google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group 
athttp://groups.google.com/group/google-appengine-java?hl=en.
-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.




[appengine-java] Order of index propertis

2010-01-17 Thread John Patterson
I have a query that is throwing an exception (occasionally) due to the  
order of properties in an index.


the query is like: closed = false AND blocks = x ORDER BY popularity

An exception is thrown on the local datastore:

Query ??? requires the following index:

datastore-index kind=H ancestor=false source=manual
property name=blocks direction=asc/
property name=closed direction=asc/
property name=popularity direction=desc/
/datastore-index


But I have the following index

datastore-index kind=H ancestor=false source=manual
property name=closed direction=asc /
property name=blocks direction=asc /
property name=popularity direction=desc /
/datastore-index

Surely that should be OK?  I haven't tried this on the datastore as it  
takes a long time to build the indexes but should the current index  
work there?


Thanks,

JD


-- 

You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group.

To post to this group, send email to google-appengine-j...@googlegroups.com.

To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.



Re: [appengine-java] Re: RESTfull - JAX-RS and GAE/J

2010-01-17 Thread Jeff Schnitzer
No, not all the jars.  It depends on what you're trying to do and
which providers you intend to use.  Read the comments in the maven
pom.xml.

I use the jackson provider.  It requires the jackson jars, the
jackson-jaxrs jar, the jackson-resteasy-provider jar, resteasy-jaxrs,
jaxrs-api, and if you're using scanning, the scannotation and
javassist jars.

Jeff

On Sun, Jan 17, 2010 at 10:27 AM, ChrisDane gregersen@gmail.com wrote:
 Thanks Andy,
 I Just got it working, by adding alle the jar files from the
 1.2.1.GA lib folder into my WAR/WEB-INF/lib... Question is do you
 need alle the jar files in order to make it work?

 /Christian

 org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher

 On Jan 17, 11:05 am, andy.booth andy.booth...@googlemail.com
 wrote:
 Have you put the three .jar files in war\WEB-INF\lib too? It can't
 find the base Servlet for Resteasy.

 I don't think there's a huge benefit of trying to implement a standard
 that is already done by Jersey, Resteasy, Restlet and Apache Wink,
 which already provides a useful set of choices.

 My issue with JAX-RS and Guice together has been initialization time -
 in the 6 - 10 second region, with JPA and a templating framework,
 rather than the lengthy times suggested with other types of web
 framework. In particular, I switch off all class path scanning for
 Resource and Providers in Jersey. In fact looking at the documentation
 for Resteasy, their property of resteasy.scan = false seems quite good
 in this regard. So I might consider moving over to Resteasy.

 And many of the JAX-RS implementations add GZIP and Etag type plugins
 that help create elegant REST applications. Which would take time with
 a custom implementation.

 Andy

 On Jan 16, 10:19 pm, ChrisDane gregersen@gmail.com wrote:



  Thanks Jeff,

  Thanks, I am just trying to set it up:

  1) Downloaded the latest(1.2.1.GA)
  2) In Eclipse created a new GAE Project
  3) I have been looking in the book RESTful Java with JAX-RS, 1st
  Edition - found the sample code for oreilly-workbook/ex03_1
  4) Copied the ( Customer.java  CustomerResource.java 
  ShoppingApplication.java ) classes to my new GAE project.
  5) Added to Class Path: serverlet-api-2.5.jar   
  webserver-1.3.3.jar     jsr311-api-1.1.jar
  6) Changed the web.xml serverlet to :

  web-app xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
  xmlns=http://java.sun.com/xml/ns/javaee;
  xmlns:web=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd;
  xsi:schemaLocation=http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/we...;
   version=2.5
      display-nameArchetype Created Web Application/display-name

      servlet
          servlet-nameResteasy/servlet-name
          servlet-
  classorg.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher/
  servlet-class
          init-param
              param-namejavax.ws.rs.Application/param-name
              param-
  valuecom.restfully.shop.services.ShoppingApplication/param-value
          /init-param
      /servlet

      servlet-mapping
          servlet-nameResteasy/servlet-name
          url-pattern/*/url-pattern
      /servlet-mapping
          welcome-file-list
                  welcome-fileindex.html/welcome-file
          /welcome-file-list
  /web-app

  7) And I am getting an Error:
  ..
  com.google.apphosting.utils.jetty.JettyLogger warn
  WARNING: EXCEPTION
  java.lang.ClassNotFoundException:
  org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
  .

  Can you point out anything in my steps that I am doing wrong?

  Lastly, would I loos anything if I figured out to implement my own
  javax.ws.rs.Application?

  Thanks again
  Regards
  ChrisDane

  On Jan 16, 10:23 pm, Jeff Schnitzer j...@infohazard.org wrote:

   JBoss Resteasy works fine without any special customization for GAE.
   I use it extensively.

  http://www.jboss.org/resteasy

   Jeff

   On Sat, Jan 16, 2010 at 1:09 PM, ChrisDane gregersen@gmail.com 
   wrote:
Hi there,
Has anyone seen any examples on using only JAX-RS on GAE.

Implementing the javax.ws.rs.core.Application and A resource Class
etc?

Thanks in advance
Regards
ChrisDane

--
You received this message because you are subscribed to the Google 
Groups Google App Engine for Java group.
To post to this group, send email to 
google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group 
athttp://groups.google.com/group/google-appengine-java?hl=en.

 --
 You received this message because you are subscribed to the Google Groups 
 Google App Engine for Java group.
 To post to this group, send email to google-appengine-j...@googlegroups.com.
 To unsubscribe from this group, send email to 
 google-appengine-java+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 

[appengine-java] Memcache question

2010-01-17 Thread Andrei
Is there a way to code Memcache that would notify when particular
entry is about to expire
so i can store it in DB?
Thanks
-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.




[appengine-java] Declarative Security with auth-constraint problems for role-name *

2010-01-17 Thread powell...@gmail.com
I am trying to use declarative security in my web.xml file to require
a google login to access my web  pages. I allow role-name * and role-
name admin. I placed a portion of the file below. When I access a web
page music.jsp, I get prompted for my login.  I am (admin) role, it
works perfectly. However if my wife accesses music.jsp web page, she
gets prompted for login but then gets Error Forbidden Your client does
not have permission to get URL /music.jsp from this service.

Any ideas?

  security-constraint
web-resource-collection
  web-resource-namecontrolAccess/web-resource-name
  url-pattern/*/url-pattern
/web-resource-collection
web-resource-collection
  web-resource-namecontrolJspAccess/web-resource-name
  url-pattern/*.jsp/url-pattern
/web-resource-collection
web-resource-collection
  web-resource-namecontrolControllerServletAccess/web-resource-
name
  url-pattern/ControllerServlet/url-pattern
/web-resource-collection
auth-constraint
  role-name*/role-name
  role-nameadmin/role-name
/auth-constraint
  /security-constraint

Thank you
Dave
-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.




[appengine-java] adapter4appengine - java.lang.NoClassDefFoundError

2010-01-17 Thread Youngster
Hi,

Hope someone can help me to get this Gilead adapter4appengine to work.
I keep getting java.lang.NoClassDefFoundError when running my app.

I'm using the adapter4appengine-1.0M3, inherited it in the
project.gwt.xml.
I also tried the SampleAppEngine.JDO application which seems to work
fine. I compared this project file by file with my own project but
can't find any relevant differences.
Compiling my app is no problem.

Anyone who had this experience as well? Hope someone can help me out.

Thanks

--

Initializing AppEngine server
16-jan-2010 17:57:18 com.google.apphosting.utils.jetty.JettyLogger
warn
WARNING: failed shoppingsServiceServlet
java.lang.NoClassDefFoundError: net/sf/gilead/adapter4appengine/
EngineRemoteService
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at
com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass
(IsolatedAppClassLoader.java:151)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.mortbay.util.Loader.loadClass(Loader.java:91)
at org.mortbay.util.Loader.loadClass(Loader.java:71)
at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
at org.mortbay.jetty.servlet.ServletHolder.doStart
(ServletHolder.java:
233)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:40)
at org.mortbay.jetty.servlet.ServletHandler.initialize
(ServletHandler.java:612)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:
139)
at org.mortbay.jetty.webapp.WebAppContext.startContext
(WebAppContext.java:1218)
at org.mortbay.jetty.handler.ContextHandler.doStart
(ContextHandler.java:500)
at org.mortbay.jetty.webapp.WebAppContext.doStart
(WebAppContext.java:
448)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:40)
at org.mortbay.jetty.handler.HandlerWrapper.doStart
(HandlerWrapper.java:117)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:40)
at org.mortbay.jetty.handler.HandlerWrapper.doStart
(HandlerWrapper.java:117)
at org.mortbay.jetty.Server.doStart(Server.java:217)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:40)
at
com.google.appengine.tools.development.JettyContainerService.startContainer
(JettyContainerService.java:188)
at
com.google.appengine.tools.development.AbstractContainerService.startup
(AbstractContainerService.java:120)
at
com.google.appengine.tools.development.DevAppServerImpl.start
(DevAppServerImpl.java:217)
at
com.google.appengine.tools.development.gwt.AppEngineLauncher.start
(AppEngineLauncher.java:86)
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:
377)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:
938)
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:690)
at com.google.gwt.dev.DevMode.main(DevMode.java:251)
Caused by: java.lang.ClassNotFoundException:
net.sf.gilead.adapter4appengine.EngineRemoteService
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at
com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass
(IsolatedAppClassLoader.java:151)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 35 more

And many more of the same errors.
-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.




Re: [appengine-java] App Engine cold starts and overly aggressive cycling

2010-01-17 Thread Paul Hammant
I have had a similar issue since launch :- http://ph-tryout.appspot.com/

GAE/J spawns a second servlet container too early.  At least too early for the 
servlet spec.  I wrote about it on my blog :- 
http://paulhammant.com/blog/appengines-blind-spot.html
This is only very simple listeners, filters and servlets.  There's no framework 
or data usage of any kind.  The dollar cost of apps being initialized more than 
they need to has always concerned me though.

This could account for some 'aggressive cycle' situations.  Or it could be 
confusable with them.

Ikai - see ticket #412136278 from March of last year. Source for the app should 
be attached to that ticket.

- Paul

On Jan 15, 2010, at 5:32 PM, Ikai Lan wrote:

 Hey everybody,
 
 We've been seeing more and more reports of applications being cycled out 
 overly aggressively, resulting in some folks implementing (discouraged) 
 workarounds to keep their application from being cycled out. The primary 
 symptom of this problem is that your application will see lots of loading 
 requests that fire up a new JVM, which, as many of you know can take 
 anywhere from a few seconds with naked servlets to as much as twenty seconds 
 when loading something like Spring MVC, JRuby on Rails or Grails.
 
 In theory, there is enough capacity such that as long as you get some traffic 
 every few hours, you should not be getting cycled out, but we have been 
 seeing reports of applications being cycled after only a minute or less. To 
 help us figure out if these are app specific issues or App Engine issues, can 
 you post the following information if you believe this is happening to you?
 
 - What is your application ID?
 - How do you know it is being cycled out? You'll need to insert some code 
 that only gets called when the app cold starts.
 - How much time of inactivity does it take before your application is cycled 
 out?
 - What time or days does this seem to happen?
 - What frameworks or libraries are you loading?
 
 Any other information you can provide would be helpful.
 
 -- 
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 -- 
 You received this message because you are subscribed to the Google Groups 
 Google App Engine for Java group.
 To post to this group, send email to google-appengine-j...@googlegroups.com.
 To unsubscribe from this group, send email to 
 google-appengine-java+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/google-appengine-java?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.




[appengine-java] The error occurs by registering QueueName again.

2010-01-17 Thread m seleron
Hi,

Server Error (500) occurs as follows.
Is there a workaround or something

1.queue.xml to upload my app the following file.

queue-entries
  queue
namedefault/name
rate1/s/rate
  /queue
  queue
namedeleteTasks/name
rate10/s/rate
bucket-size10/bucket-size
  /queue
/queue-entries


2.queue.xml to upload my app the following file.

queue-entries
  queue
namedefault/name
rate1/s/rate
  /queue
/queue-entries


3.[deleteTasks] to Delete Queue the admin console.

(Before deleting the state deleteTasks on admin console)
 Maximum:[paused]
 RateBucketSize:[paused]
 TaskskinQueueRun:[blank]
 in Last Minute:[0]

4.First used queue.xml to upload my app the following file.

queue-entries
  queue
namedefault/name
rate1/s/rate
  /queue
  queue
namedeleteTasks/name
rate10/s/rate
bucket-size10/bucket-size
  /queue
/queue-entries

The following errors occur at deploy.


[Error Details](eclipse deplydialog)

Unable to update app: Error posting to URL:
http://appengine.google.com/api/queue/update?app_id=xxxversion=xxx;
500 Internal Server Error

Server Error (500)
A server error has occurred.


See the deployment console for more details
Unable to update app: Error posting to URL:
http://appengine.google.com/api/queue/update?app_id=xxxversion=xxx;
500 Internal Server Error

Server Error (500)
A server error has occurred.

[Error Details](eclipse appengine-deployXXX.log)

Server Error (500)
A server error has occurred.

at com.google.appengine.tools.admin.ServerConnection.send
(ServerConnection.java:143)
at com.google.appengine.tools.admin.ServerConnection.post
(ServerConnection.java:81)
at com.google.appengine.tools.admin.AppVersionUpload.send
(AppVersionUpload.java:522)
at com.google.appengine.tools.admin.AppVersionUpload.updateQueue
(AppVersionUpload.java:255)
at com.google.appengine.tools.admin.AppVersionUpload.doUpload
(AppVersionUpload.java:134)
at com.google.appengine.tools.admin.AppAdminImpl.update
(AppAdminImpl.java:56)
at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy
(AppEngineBridgeImpl.java:271)
at
com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace
(DeployProjectJob.java:148)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run
(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)


Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.