[appengine-java] Re: Indexing Problem(always return incorrect number of rows)
Now i changed my sort order back from title to id. And things are working fine again. i am getting the correct number of rows. So I am sure that there is a problem in Index building. It does say that index serving but it has not indexed my whole data. Google guys any opinion on it? Thanks, Ravi. On Dec 5, 7:42 am, Ravi Sharma wrote: > Hi, > After indexing my all queries returning fewer rows. > I have this class > > public class AudioMedia{ > @PrimaryKey > @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) > private Key id; > @Persistent > private String title; > . > @Persistent > private String audioTitleExternalId; > > } > > initially i was retruning a list of AudioMedia where > audioTitleExternalId='SomeId' and order by id,and this query was returning > correct result > > But then i thought its better to sort it out by title. > SO i created following index > > > > > > and now i am returning a list of AudioMedia where > audioTitleExternalId='SomeId' and order by title > > The only change in code i did was replacing id with title and creating > indexes. Then i waited for half an hour and indexes were created for 5+ > rows. But now for any audioTitleExternalId i am getting incorrect number of > AudioMedia rows . > > for example > SELECT * FROM AudioMedia where audioTitleExternalId='7475' > when i run this query in Data Viewer, it returns me 6 rows with title and > audioTitleExternalId for each row as not null. > But through the java code it returns me only 4 rows. Somehow indexing has > made my data lost somewhere or unreachable. > > Can you please advise what is the problem here. > > *Fields audioTitleExternalId and title both are not null in all entities.* > > Thanks, > Ravi. -- 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] Indexing Problem(always return incorrect number of rows)
Hi, After indexing my all queries returning fewer rows. I have this class public class AudioMedia{ @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key id; @Persistent private String title; . @Persistent private String audioTitleExternalId; } initially i was retruning a list of AudioMedia where audioTitleExternalId='SomeId' and order by id,and this query was returning correct result But then i thought its better to sort it out by title. SO i created following index and now i am returning a list of AudioMedia where audioTitleExternalId='SomeId' and order by title The only change in code i did was replacing id with title and creating indexes. Then i waited for half an hour and indexes were created for 5+ rows. But now for any audioTitleExternalId i am getting incorrect number of AudioMedia rows . for example SELECT * FROM AudioMedia where audioTitleExternalId='7475' when i run this query in Data Viewer, it returns me 6 rows with title and audioTitleExternalId for each row as not null. But through the java code it returns me only 4 rows. Somehow indexing has made my data lost somewhere or unreachable. Can you please advise what is the problem here. *Fields audioTitleExternalId and title both are not null in all entities.* Thanks, Ravi. -- 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: Failed to startup after ver 1.2.8 update
> And So is it become > official version at Dec-5th? I think so. Well Dec 4th. http://groups.google.com/group/google-appengine-java/browse_thread/thread/18e49b1559752fae/fdf7c0bc29d6e74d?lnk=gst&q=App+Engine+SDK+1.2.8+released+including+new+Admin+Console+features#fdf7c0bc29d6e74d Shawn -- 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: Failed to startup after ver 1.2.8 update
I updated ver1.2.8 at Dec-5th by seeing update request on Eclipse screen. But I was very surprised when I am seeing 1.2.8 is pre-release SDK and have no production environment by this post(=> hhttp://groups.google.com/group/google-appengine-java/browse_thread/thread/fe334c9e461026fa/b944b708a8d8de5b?lnk=gst&q=1.2.8#b944b708a8d8de5b) But this article was posted at Nov-25th and Display on the eclipse update recommendation and the Release Notes of Version 1.2.8 - December 3, 2009 (=>http://code.google.com/p/googleappengine/wiki/ SdkReleaseNotes) does not say anything about this. And So is it become official version at Dec-5th? If this is not official version Could you teach me when Google will make this version official and post old version(1.2.7) as a latest SDK. I must determine either wait official 1.2.8 or go back to 1.2.7 version to continue development. -- 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] Class XXX has multiple relationship fields of type YYYY
SDK 1.2.8 contains a new check that detects if one of your JDO or JPA model objects has two relationship fields of the same type. For example: class A { List bList; List anotherBList; } Unfortunately I was a little too aggressive with this check, so the following also run afoul of the check: abstract class B {} class C extends B {} class D extends B {} class A { List cList: List dList; } If you get an exception that says Class XXX has multiple relationship fields of type . This is not yet supported. and your class hierarchy resembles the one above, you can disable this check by with the following config property: We'll get this fixed shortly. Sorry for the trouble, 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] Failed to startup after ver 1.2.8 update
Application does not start up after update ver 1.2.8 Error Message is following Error occurred during initialization of VM agent library failed to init: instrument Error opening zip file or JAR manifest missing : C:\eclipse\plugins \com.google.appengine.eclipse.sdkbundle_1.2.6.v200910130758\appengine- java-sdk-1.2.6\lib\agent\appengine-agent.jar 1.2.8 appengine-agent.jar is is exist following directory. C:\eclipse\plugins \com.google.appengine.eclipse.sdkbundle_1.2.8.v200912040616\appengine- java-sdk-1.2.8\lib\agent\appengine-agent.jar So problem look like that Eclipse startup program does not recognize 1.2.6 to 1.2.8 update and searching sdk 1.2.6's appengine-agent.jar at old directory. I Changed Project=>Propaty=>Libralys to "App Engine sdk[App Engine -1.2.8]" Are there remaining portion to change setting? How should I teach Eclipse of this update? -- 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: IOException on uploading app
Resolved. The issue was the "Connection refused". I had to update the proxy settings in Eclipse. On Dec 4, 4:49 pm, GaryC wrote: > Same issue. Just getting started today with Eclipse 3.5 and > Appengine 1.2.8 and JDK 1.6.0_16. Forward slashes are a problem on > Windows, no? > > com.google.apphosting.utils.config.AppEngineConfigException: Received > IOException parsing the input stream for /work/workspace/gac4- > reference/war\WEB-INF/web.xml > at > com.google.apphosting.utils.config.AbstractConfigXmlReader.getTopLevelNode > (AbstractConfigXmlReader.java:210) > at com.google.apphosting.utils.config.AbstractConfigXmlReader.parse > (AbstractConfigXmlReader.java:228) > at com.google.apphosting.utils.config.WebXmlReader.processXml > (WebXmlReader.java:141) > at com.google.apphosting.utils.config.WebXmlReader.processXml > (WebXmlReader.java:22) > at > com.google.apphosting.utils.config.AbstractConfigXmlReader.readConfigXml > (AbstractConfigXmlReader.java:111) > at com.google.apphosting.utils.config.WebXmlReader.readWebXml > (WebXmlReader.java:72) > at com.google.appengine.tools.admin.Application. > (Application.java:91) > at com.google.appengine.tools.admin.Application.readApplication > (Application.java:120) > at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:107) > at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:58) > at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:54) > Caused by: java.net.ConnectException: Connection refused: connect > at java.net.PlainSocketImpl.socketConnect(Native Method) > at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) > at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java: > 195) > at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) > at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) > at java.net.Socket.connect(Socket.java:525) > at java.net.Socket.connect(Socket.java:475) > > Gary > > On Nov 19, 5:52 am, david jones wrote: > > > heya, > > > i'm quite (well, very) new to the google app engine and am just trying > > to upload a very basic start to the project i'm working on. however, > > when i try to upload (either using the plugin for eclipse or through > > appcfg.cmd) i get the error: > > > An internal error occurred during: "Deploying ConferenceCloud to > > Google". > > ReceivedIOExceptionparsing the input stream for C:/Users/dave/ > > workspace/ConferenceCloud/war\WEB-INF/web.xml > > > i havent edited theweb.xmlfile, leaving it as it was when i created > > the project in eclipse > > > has anyone encountered this before or knows how to solve it? > > > thanks, > > david > > -- 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: Processing incoming email
Hi.Peter, As one example. When you use InputStream inputStream = message.getInputStream(); // ByteArrayDataSource inboundDataSource = new ByteArrayDataSource(inputStream, message.getContentType()); Multipart inboundMultipart = new MimeMultipart(inboundDataSource); Please switch the processing of each type by using MimeMessage#isMimeType. (In the offered source it is variable [message]. ) MimeMessage#isMimeType("multipart/*") == true Convert into MimeMultipart. MimeMessage#isMimeType("text/plain") == true MimeMessage#isMimeType("text/html") == true Need not convert into MimeMultipart. Of course, Jeremy Blythe have provided us information that [contentType.indexOf ( "multipart")] also Behave the same. Thanks Jeremy Blythe. Ikai. Thank you variously for useful information as for processing concerning the attached file to datastore ,etc. Though it noticed now. MimeMessage#isMimeType("multipart/*") == true The return value of MimeMessage#getContent() seems to have changed into Multipart. (SDK-1.2.8) (The real thing environment has been updated recently. ) http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes When you use [message.getContent() ] Such a method might be able to be used. Object content = message.getContent(); if ( content instanceof Multipart){ MimeMultipart mmp = (MimeMultipart)content; } else{ //plain text/html part .etc } Though there might be an insufficient condition. Please try. thanks. On 12月5日, 午前3:24, Peter Ondruska wrote: > OK. now I am really puzzled. message.getContent() is very much > dependent on how message is sent, e.g. email from Gmail: > message.getContent().getClass().getName() is > javax.mail.internet.MimeMultipart > > email from Hotmail and Yahoo mail: > message.getContent().getClass().getName() throws: > Uncaught exception from servlet > java.io.IOException: Truncated quoted printable data > at > org.apache.geronimo.mail.util.QuotedPrintableEncoder.decodeNonspaceChar > (QuotedPrintableEncoder.java:597) > at org.apache.geronimo.mail.util.QuotedPrintableEncoder.decode > (QuotedPrintableEncoder.java:584) > at org.apache.geronimo.mail.util.QuotedPrintableDecoderStream.read > (QuotedPrintableDecoderStream.java:80) > at org.apache.geronimo.mail.handlers.TextHandler.getContent > (TextHandler.java:107) > at javax.activation.DataSourceDataContentHandler.getContent(Unknown > Source) > at javax.activation.DataHandler.getContent(Unknown Source) > at javax.mail.internet.MimeMessage.getContent(MimeMessage.java:927) > > On Dec 4, 6:38 pm, Peter Ondruska wrote: > > > Ikai, my code looks same as yours to me: > > > package eu.kaibo.server; > > > import java.io.ByteArrayInputStream; > > import java.io.IOException; > > import java.io.InputStream; > > import java.util.Properties; > > import java.util.logging.Level; > > import java.util.logging.Logger; > > > import javax.mail.Address; > > import javax.mail.MessagingException; > > import javax.mail.Multipart; > > import javax.mail.Part; > > import javax.mail.Session; > > import javax.mail.internet.MimeMessage; > > import javax.mail.internet.MimeMultipart; > > import javax.mail.util.ByteArrayDataSource; > > import javax.servlet.ServletException; > > import javax.servlet.http.HttpServlet; > > import javax.servlet.http.HttpServletRequest; > > import javax.servlet.http.HttpServletResponse; > > > import com.google.appengine.api.labs.taskqueue.QueueFactory; > > import com.google.appengine.api.labs.taskqueue.TaskOptions; > > > public class MailHandler extends HttpServlet { > > > private static final long serialVersionUID = 895612806305910032L; > > > private final Logger logger = > > Logger.getLogger(getClass().getName()); > > > @Override > > protected void doPost(HttpServletRequest request, > > HttpServletResponse > > response) throws ServletException, IOException { > > > Session session = Session.getDefaultInstance(new > > Properties(), > > null); > > > try { > > > MimeMessage message = new MimeMessage(session, > > request.getInputStream()); > > > StringBuffer sb = new StringBuffer(); > > > sb.append("From: "); > > Address[] senders = message.getFrom(); > > for (int i = 0; i < senders.length; i++) > > sb.append(senders[i].toString()).append("; > > "); > > sb.append("\n"); > > > sb.append("To: "); > > Address[] receivers = message.getAllRecipients(); > > for (int i = 0; i < receivers.length; i++) > > > > sb.append(receivers[i].toString()).append("; ")
[appengine-java] Re: Unexpected exit when debugging
I'm seeing this too when using the RPC on MacOSX. It just started after a software update in Eclipse. Trying to run the basic default GWT app results in the app crashing with this error message: Invalid memory access of location 0010 eip=98d7077b On Nov 30, 10:31 am, marksea wrote: > I get this sometimes when exiting the hosted browser when running (not > debugging) as well. Everything is a fresh install, per the tutorial. > I've saw an old discussion in the GWT group of a similar error, but it > was with the 1.4 Java runtime, and i'm using 1.5.0, the Mac default. > > On Nov 30, 1:14 am, marksea wrote: > > > > > I'm working through the GWT/GAE tutorial with Eclipse and OS X. > > Everything works great until I try to set some breakpoints to debug > > (part of the tutorial). If I do that I get "The application GWT quit > > unexpectedly. The problem may have been caused by thelibgwt-ll- > > jnilib plug-in." Has anyone else seen this message under these > > circumstances? -- 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: JAXB doesn't work for me in 1.2.8
It's probably worth mentioning that, as a temporary workaround, you should be able to bundle your own JAXB implementation with your webapp. For example, the reference version can be obtained from https://jaxb.dev.java.net/. On Fri, Dec 4, 2009 at 4:31 PM, Toby Reyelts wrote: > Thanks for the quick reports folks. We've identified this as a fault which > occurred during our push to production. We're working on this and will post > back on this thread when it's resolved. > > > On Fri, Dec 4, 2009 at 2:26 PM, javaprime wrote: > >> Error for /cron/url_update_delta >> java.lang.ExceptionInInitializerError >>at >> com.amazonaws.queue.AmazonSQSClient.(AmazonSQSClient.java: >> 108) >>at >> compareodds.webapp.server.util.SQSQueue.buildQueue(SQSQueue.java: >> 65) >>at compareodds.webapp.server.util.SQSQueue.buildURLQueue >> (SQSQueue.java:57) >>at >> compareodds.webapp.server.request.URLUpdate.(URLUpdate.java: >> 33) >>at >> compareodds.webapp.server.request.handlers.cron_url_update_delta.doGet >> (cron_url_update_delta.java:37) >>at javax.servlet.http.HttpServlet.service(HttpServlet.java:693) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) >>at >> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: >> 487) >>at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter >> (ServletHandler.java:1093) >> at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter >> (SaveSessionFilter.java:35) >> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter >> (ServletHandler.java:1084) >>at >> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter >> (TransactionCleanupFilter.java:43) >>at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter >> (ServletHandler.java:1084) >>at org.mortbay.jetty.servlet.ServletHandler.handle >> (ServletHandler.java:360) >>at org.mortbay.jetty.security.SecurityHandler.handle >> (SecurityHandler.java:216) >>at org.mortbay.jetty.servlet.SessionHandler.handle >> (SessionHandler.java:181) >>at org.mortbay.jetty.handler.ContextHandler.handle >> (ContextHandler.java:712) >>at >> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: >> 405) >> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle >> (AppVersionHandlerMap.java:238) >> at org.mortbay.jetty.handler.HandlerWrapper.handle >> (HandlerWrapper.java:139) >>at org.mortbay.jetty.Server.handle(Server.java:313) >>at >> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: >> 506) >> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete >> (HttpConnection.java:830) >>at >> com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable >> (RpcRequestParser.java:76) >> at >> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) >>at >> >> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest >> (JettyServletEngineAdapter.java:139) >>at com.google.apphosting.runtime.JavaRuntime.handleRequest >> (JavaRuntime.java:239) >>at com.google.apphosting.base.RuntimePb$EvaluationRuntime >> $6.handleBlockingRequest(RuntimePb.java:5235) >>at com.google.apphosting.base.RuntimePb$EvaluationRuntime >> $6.handleBlockingRequest(RuntimePb.java:5233) >>at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest >> (BlockingApplicationHandler.java:24) >>at >> com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: >> 363) >>at com.google.net.rpc.impl.Server$2.run(Server.java:838) >>at com.google.tracing.LocalTraceSpanRunnable.run >> (LocalTraceSpanRunnable.java:56) >>at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan >> (LocalTraceSpanBuilder.java:536) >>at com.google.net.rpc.impl.Server.startRpc(Server.java:793) >>at com.google.net.rpc.impl.Server.processRequest(Server.java:368) >>at com.google.net.rpc.impl.ServerConnection.messageReceived >> (ServerConnection.java:448) >>at com.google.net.rpc.impl.RpcConnection.parseMessages >> (RpcConnection.java:319) >>at com.google.net.rpc.impl.RpcConnection.dataReceived >> (RpcConnection.java:290) >>at com.google.net.async.Connection.handleReadEvent(Connection.java: >> 466) >>at com.google.net.async.EventDispatcher.processNetworkEvents >> (EventDispatcher.java:759) >>at com.google.net.async.EventDispatcher.internalLoop >> (EventDispatcher.java:205) >>at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: >> 101) >>at com.google.net.rpc.RpcService.runUntilServerShutdown >> (RpcService.java:251) >>at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run >> (JavaRuntime.java:396) >>at java.lang.Thread.run(Unknown Source) >> Caused by: javax.xml.bind.JAXBExcept
Re: [appengine-java] 1.2.8 SDK Prerelease - help us verify!
That's correct--the task still completes successfully even after the timeout exception shows up in the console window. Vince On Fri, Dec 4, 2009 at 5:11 PM, Max Ross (Google) > wrote: > We're using the UrlFetchService to invoke the task URL, and the local > implementation of UrlFetchService times out after 5 seconds. For task > execution the timeout should instead be 30 seconds. I'll get a fix > together, but in practice the timeout shouldn't actually impact the > completion of the task. UrlFetchService will timeout but the task should > still finish running. > > Thanks, > Max > > > On Fri, Dec 4, 2009 at 7:06 AM, Vince Bonfanti wrote: > >> Hi Max, >> >> Yes, it works. Thanks very much. >> >> Vince >> >> P.S. While step-debugging a task, I noticed that they seem to time-out >> very quickly--within about 5 seconds. Is this intentional? Here's a partial >> stacktrace: >> >> Dec 4, 2009 3:03:58 PM >> com.google.appengine.api.labs.taskqueue.dev.DevQueue runTask >> SEVERE: Exception executing task 24b5a6e4-c327-4bc6-bc4f-51f838f3d1a5 on >> queue write-behind-task >> com.google.apphosting.api.ApiProxy$ApplicationException: ApplicationError: >> 5: http method GET against URL >> http://127.0.0.1:8080/_ah/queue/write-behind-task?watchdog=839445f1-2c77-4c2c-bf32-81b88d5e092etimed >> out. >> at >> com.google.appengine.api.urlfetch.dev.LocalURLFetchService.fetch(LocalURLFetchService.java:214) >> at >> com.google.appengine.api.labs.taskqueue.dev.UrlFetchJob.execute(UrlFetchJob.java:53) >> at >> com.google.appengine.api.labs.taskqueue.dev.UrlFetchJob.execute(UrlFetchJob.java:46) >> at >> com.google.appengine.api.labs.taskqueue.dev.DevQueue.runTask(DevQueue.java:221) >> at >> com.google.appengine.api.labs.taskqueue.dev.LocalTaskQueue.runTask(LocalTaskQueue.java:313) >> >> On Thu, Dec 3, 2009 at 7:01 PM, Max Ross (Google) < >> maxr+appeng...@google.com > wrote: >> >>> Vince, >>> >>> We added a last minute fix for this in the SDK that just went out. Could >>> you please try your code with the official SDK download? >>> >>> Thanks, >>> Max >>> >>> >>> On Thu, Dec 3, 2009 at 12:15 PM, Max Ross (Google) < >>> maxr+appeng...@google.com > wrote: >>> Sure, sorry for the trouble, and thanks for trying out the prerelease! Max On Thu, Dec 3, 2009 at 12:12 PM, Vince Bonfanti wrote: > That fixed it. Thanks. > > Vince > > > On Thu, Dec 3, 2009 at 2:24 PM, Max Ross (Google) < > maxr+appeng...@google.com > wrote: > >> Vince, >> >> As a workaround, try setting the missing environment attribute >> explicitly before you add the task to the queue: >> >> ApiProxy.getCurrentEnvironment().getAttributes().put("com.google.appengine.server_url_key", >> "http://localhost:8080";); >> >> This should only be necessary for tasks that are added when there is >> no "live" request and it should have no impact in prod. >> >> Sorry for the trouble, >> Max >> >> >> On Thu, Dec 3, 2009 at 10:20 AM, Max Ross (Google) < >> maxr+appeng...@google.com > wrote: >> >>> Hi Vince, >>> >>> That sounds like a bug in our code that was a side effect of the >>> automatic task execution that now happens in the dev environment. Let >>> me >>> see if I can come up with a workaround for you. >>> >>> Max >>> >>> On Thu, Dec 3, 2009 at 10:06 AM, Vince Bonfanti >> > wrote: >>> I just started testing with the 1.2.8 prerelease, and I'm getting the following exception from Queue.add() in code that works in 1.2.6: java.lang.IllegalStateException: Current enviornment must have the server url available via the com.google.appengine.server_url_key attribute. This only happens when Queue.add() is invoked from the servlet init() method or from a static initializer; if Queue.add() is invoked from a "regular" request thread, then it works properly. Vince -- 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] 1.2.8 SDK Prerelease - help us verify!
We're using the UrlFetchService to invoke the task URL, and the local implementation of UrlFetchService times out after 5 seconds. For task execution the timeout should instead be 30 seconds. I'll get a fix together, but in practice the timeout shouldn't actually impact the completion of the task. UrlFetchService will timeout but the task should still finish running. Thanks, Max On Fri, Dec 4, 2009 at 7:06 AM, Vince Bonfanti wrote: > Hi Max, > > Yes, it works. Thanks very much. > > Vince > > P.S. While step-debugging a task, I noticed that they seem to time-out very > quickly--within about 5 seconds. Is this intentional? Here's a partial > stacktrace: > > Dec 4, 2009 3:03:58 PM com.google.appengine.api.labs.taskqueue.dev.DevQueue > runTask > SEVERE: Exception executing task 24b5a6e4-c327-4bc6-bc4f-51f838f3d1a5 on > queue write-behind-task > com.google.apphosting.api.ApiProxy$ApplicationException: ApplicationError: > 5: http method GET against URL > http://127.0.0.1:8080/_ah/queue/write-behind-task?watchdog=839445f1-2c77-4c2c-bf32-81b88d5e092etimed > out. > at > com.google.appengine.api.urlfetch.dev.LocalURLFetchService.fetch(LocalURLFetchService.java:214) > at > com.google.appengine.api.labs.taskqueue.dev.UrlFetchJob.execute(UrlFetchJob.java:53) > at > com.google.appengine.api.labs.taskqueue.dev.UrlFetchJob.execute(UrlFetchJob.java:46) > at > com.google.appengine.api.labs.taskqueue.dev.DevQueue.runTask(DevQueue.java:221) > at > com.google.appengine.api.labs.taskqueue.dev.LocalTaskQueue.runTask(LocalTaskQueue.java:313) > > On Thu, Dec 3, 2009 at 7:01 PM, Max Ross (Google) < > maxr+appeng...@google.com > wrote: > >> Vince, >> >> We added a last minute fix for this in the SDK that just went out. Could >> you please try your code with the official SDK download? >> >> Thanks, >> Max >> >> >> On Thu, Dec 3, 2009 at 12:15 PM, Max Ross (Google) < >> maxr+appeng...@google.com > wrote: >> >>> Sure, sorry for the trouble, and thanks for trying out the prerelease! >>> >>> Max >>> >>> >>> On Thu, Dec 3, 2009 at 12:12 PM, Vince Bonfanti wrote: >>> That fixed it. Thanks. Vince On Thu, Dec 3, 2009 at 2:24 PM, Max Ross (Google) < maxr+appeng...@google.com > wrote: > Vince, > > As a workaround, try setting the missing environment attribute > explicitly before you add the task to the queue: > > ApiProxy.getCurrentEnvironment().getAttributes().put("com.google.appengine.server_url_key", > "http://localhost:8080";); > > This should only be necessary for tasks that are added when there is no > "live" request and it should have no impact in prod. > > Sorry for the trouble, > Max > > > On Thu, Dec 3, 2009 at 10:20 AM, Max Ross (Google) < > maxr+appeng...@google.com > wrote: > >> Hi Vince, >> >> That sounds like a bug in our code that was a side effect of the >> automatic task execution that now happens in the dev environment. Let me >> see if I can come up with a workaround for you. >> >> Max >> >> On Thu, Dec 3, 2009 at 10:06 AM, Vince Bonfanti >> wrote: >> >>> I just started testing with the 1.2.8 prerelease, and I'm getting the >>> following exception from Queue.add() in code that works in 1.2.6: >>> >>> java.lang.IllegalStateException: Current enviornment must have the >>> server url available via the com.google.appengine.server_url_key >>> attribute. >>> >>> This only happens when Queue.add() is invoked from the servlet init() >>> method or from a static initializer; if Queue.add() is invoked from a >>> "regular" request thread, then it works properly. >>> >>> Vince >>> >>> >>> On Tue, Nov 24, 2009 at 9:00 PM, Ikai L (Google) >>> wrote: >>> Hello App Engine Developers, As part of our ongoing efforts to improve release quality and transparency, we will start prereleasing SDKs for early testing. We hope this gives developers a chance to participate in our release process by trying out new changes and sending feedback. As of this morning, the prerelease SDK for our next release, 1.2.8, is available in the familiar download location (note that the filename ends in 'prerelease.zip'): http://code.google.com/p/googleappengine/downloads/list If you're interested, please download and give it a try locally with your favorite App Engine code. Please note that, as a prerelease, this SDK is not yet supported and still subject to change. Thus, please don't take critical dependencies or make substantial changes to production apps based on this SDK. Importantly, this prerelease is purely for the SDK and is intended for local testing and development in dev_appserver. The server-side of App >
[appengine-java] Re: IOException on uploading app
Same issue. Just getting started today with Eclipse 3.5 and Appengine 1.2.8 and JDK 1.6.0_16. Forward slashes are a problem on Windows, no? com.google.apphosting.utils.config.AppEngineConfigException: Received IOException parsing the input stream for /work/workspace/gac4- reference/war\WEB-INF/web.xml at com.google.apphosting.utils.config.AbstractConfigXmlReader.getTopLevelNode (AbstractConfigXmlReader.java:210) at com.google.apphosting.utils.config.AbstractConfigXmlReader.parse (AbstractConfigXmlReader.java:228) at com.google.apphosting.utils.config.WebXmlReader.processXml (WebXmlReader.java:141) at com.google.apphosting.utils.config.WebXmlReader.processXml (WebXmlReader.java:22) at com.google.apphosting.utils.config.AbstractConfigXmlReader.readConfigXml (AbstractConfigXmlReader.java:111) at com.google.apphosting.utils.config.WebXmlReader.readWebXml (WebXmlReader.java:72) at com.google.appengine.tools.admin.Application. (Application.java:91) at com.google.appengine.tools.admin.Application.readApplication (Application.java:120) at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:107) at com.google.appengine.tools.admin.AppCfg.(AppCfg.java:58) at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:54) Caused by: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java: 195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:525) at java.net.Socket.connect(Socket.java:475) Gary On Nov 19, 5:52 am, david jones wrote: > heya, > > i'm quite (well, very) new to the google app engine and am just trying > to upload a very basic start to the project i'm working on. however, > when i try to upload (either using the plugin for eclipse or through > appcfg.cmd) i get the error: > > An internal error occurred during: "Deploying ConferenceCloud to > Google". > ReceivedIOExceptionparsing the input stream for C:/Users/dave/ > workspace/ConferenceCloud/war\WEB-INF/web.xml > > i havent edited theweb.xmlfile, leaving it as it was when i created > the project in eclipse > > has anyone encountered this before or knows how to solve it? > > thanks, > david -- 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: DWR SUPPORT
Hi, > Some said GAE did not support DWR while I had read about >> "Will it play in App Engine".It showed that " >> Direct Web Remoting (DWR) >> Version(s): 2.0.5, 3.0 RC1 >> Status: COMPATIBLE" DWR uses threads for some things like reverse ajax. For sure, that will not work in appengine at least the way 3.0RC1 is written. It also writes files that don't work on appengine. Long polling isn't supported either. I've seen people on the DWR list try to work around that, but I've never seen a clean solution. Maybe there is one though. Here are relevant posts from the DWR list http://old.nabble.com/forum/Search.jtp?forum=13934&local=y&query=dwr+appengine Anyway, your "undifined" error is most likely: 1) the path to the DWR script is wrong 2) the path is correct but when your javascript on the client loads, it send a call to the server to configure DWR. But by the time the call returns, your javascript on the client has already moved on and thrown the undefined error because DWR hadn't returned in time. I saw this with reverse ajax. Shawn -- 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] Regarding Secure Data Access for the users of my service
We are creating an Active Directory Kind of an application on App Engine. What I want to know is there a way to store data securely so that I can sell this application as a service to other domains. I should not be able to acess data produced by users of other domains. I noticed if we use JDO, I can view the information. Is there a work around so that data can be viewed only by authorized people and not even the creators of the application? or do we have to implement our own encryption and decryption authorization processes. -- 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: JAXB doesn't work for me in 1.2.8
Thanks for the quick reports folks. We've identified this as a fault which occurred during our push to production. We're working on this and will post back on this thread when it's resolved. On Fri, Dec 4, 2009 at 2:26 PM, javaprime wrote: > Error for /cron/url_update_delta > java.lang.ExceptionInInitializerError >at > com.amazonaws.queue.AmazonSQSClient.(AmazonSQSClient.java: > 108) >at compareodds.webapp.server.util.SQSQueue.buildQueue(SQSQueue.java: > 65) >at compareodds.webapp.server.util.SQSQueue.buildURLQueue > (SQSQueue.java:57) >at > compareodds.webapp.server.request.URLUpdate.(URLUpdate.java: > 33) >at > compareodds.webapp.server.request.handlers.cron_url_update_delta.doGet > (cron_url_update_delta.java:37) >at javax.servlet.http.HttpServlet.service(HttpServlet.java:693) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) >at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: > 487) >at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1093) > at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter > (SaveSessionFilter.java:35) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1084) >at > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter > (TransactionCleanupFilter.java:43) >at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1084) >at org.mortbay.jetty.servlet.ServletHandler.handle > (ServletHandler.java:360) >at org.mortbay.jetty.security.SecurityHandler.handle > (SecurityHandler.java:216) >at org.mortbay.jetty.servlet.SessionHandler.handle > (SessionHandler.java:181) >at org.mortbay.jetty.handler.ContextHandler.handle > (ContextHandler.java:712) >at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: > 405) > at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle > (AppVersionHandlerMap.java:238) > at org.mortbay.jetty.handler.HandlerWrapper.handle > (HandlerWrapper.java:139) >at org.mortbay.jetty.Server.handle(Server.java:313) >at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: > 506) > at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete > (HttpConnection.java:830) >at > com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable > (RpcRequestParser.java:76) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) >at > > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest > (JettyServletEngineAdapter.java:139) >at com.google.apphosting.runtime.JavaRuntime.handleRequest > (JavaRuntime.java:239) >at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:5235) >at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:5233) >at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest > (BlockingApplicationHandler.java:24) >at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: > 363) >at com.google.net.rpc.impl.Server$2.run(Server.java:838) >at com.google.tracing.LocalTraceSpanRunnable.run > (LocalTraceSpanRunnable.java:56) >at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan > (LocalTraceSpanBuilder.java:536) >at com.google.net.rpc.impl.Server.startRpc(Server.java:793) >at com.google.net.rpc.impl.Server.processRequest(Server.java:368) >at com.google.net.rpc.impl.ServerConnection.messageReceived > (ServerConnection.java:448) >at com.google.net.rpc.impl.RpcConnection.parseMessages > (RpcConnection.java:319) >at com.google.net.rpc.impl.RpcConnection.dataReceived > (RpcConnection.java:290) >at com.google.net.async.Connection.handleReadEvent(Connection.java: > 466) >at com.google.net.async.EventDispatcher.processNetworkEvents > (EventDispatcher.java:759) >at com.google.net.async.EventDispatcher.internalLoop > (EventDispatcher.java:205) >at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: > 101) >at com.google.net.rpc.RpcService.runUntilServerShutdown > (RpcService.java:251) >at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run > (JavaRuntime.java:396) >at java.lang.Thread.run(Unknown Source) > Caused by: javax.xml.bind.JAXBException: Provider > com.sun.xml.internal.bind.v2.ContextFactory not found > - with linked exception: > [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory] > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:178) >at javax.xml.bind.ContextFinder.find(ContextFinder.java:324) >at javax.xml.bind.JAXBContext.newInstance(Unknown Source) >at j
Re: [appengine-java] JAI working in JAE?
Have you tried it yet? Let us know how it works out and we can add an entry to the "Will it play" list: http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine On Wed, Dec 2, 2009 at 10:07 PM, moissinac wrote: > The GAE-Java image service is very fast, but has a lot of limits. > Can we use JAI to process images? > > -- > > 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. > > > -- 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.
Re: [appengine-java] Sticky sessions -- keeping a user on a single JVM
Stephan, No, there is no way to stick sessions to application instances. While you can't associate all the data in a single Memcache key, you can break up the data, using a Memcache value as an index for the rest of the data. On Wed, Dec 2, 2009 at 2:48 PM, stephan wrote: > I have a GAE application that has some complex reporting requirements. > Since there is currently no support for aggregate queries, my approach > is to instead build up a collection of the items to query in memory, > and then use JOSQL to perform the queries I need. > > For the most part this has worked out OK. Part of the complication, > however, is that if I have a lot of items I need to collect from the > datastore (tens or hundred of thousands of items), I need to do this > in "chunks", in order to stay under the 30 second request limit. I do > this by issuing successive AJAX requests to initialize my data. > > The problem is that occasionally the app will hit some threshold that > causes the GAE infrastructure to spin up a new JVM. In this case, all > the items I've collected in memory in the first JVM will no longer be > there, and I have to start over. For situations where it may take 10+ > minutes to build up the collection of items, this becomes problematic. > > I'm wondering if there could be some way (via some special http header > or otherwise) to ensure that all requests from a given user/session > will stay "stuck" to the same JVM. > > Any other possible solutions I could consider? (Memcache, BTW, is not > an option, as the amount of data I'm building up in memory is more > than the 1MB maximum for memcache entries.) > > thanks, > > ...stephan > > -- > > 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. > > > -- 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] Persist Hashmap and PersistenceManager question
I followed the following thread (http://groups.google.com/group/google- appengine-java/browse_thread/thread/fb12ab60c68bf664/400cf3c83be90ce9? lnk=gst&q=persist+hashmap) to successfully persist my hashmap. I had a hard time to get it working because of the following issue: If I use the following method to retrieve my object: @Override public T get(Class c, K id) { //PersistenceManager pm = getPersistenceManager(); PersistenceManager pm = PMF.get().getPersistenceManager(); try { T result = pm.detachCopy(pm.getObjectById(c, id)); return result; } catch (JDOObjectNotFoundException e) { return null; } finally { releasePersistenceManager(pm); } } everything works fine. If I omit the detachcopy(), I can retrieve the object but the hashmap is always null. @Override public T get(Class c, K id) { //PersistenceManager pm = getPersistenceManager(); PersistenceManager pm = PMF.get().getPersistenceManager(); try { T result = pm.getObjectById(c, id); return result; } catch (JDOObjectNotFoundException e) { return null; } finally { releasePersistenceManager(pm); } } For instance in the class below, once the StateCore has been saved, I could retrieve the ID but the users hashmap would be null wiithout the detachcopy(). @PersistenceCapable(identityType = IdentityType.APPLICATION) public class StateCore implements Serializable { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent(serialized = "true") private HashMap users; public Long getId() { return key.getId(); } Could someone kindly explain why it's behaving that way? Thanks in advance -- 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: javax.jdo.JDOObjectNotFoundException: Could not retrieve entity of kind Transactions with key Transactions(Transactions(67))
"java.lang.NullPointerException at ma.CategoriesServlet.doPost (CategoriesServlet.java:61) " So you have an NPE in your code. > Which log are you referring to? Can you point me to where it would be on my > computer? The log for GAE/J of course. No idea where you've configured it to go to. Look at the GAE/J docs. -- 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: JAXB doesn't work for me in 1.2.8
Error for /cron/url_update_delta java.lang.ExceptionInInitializerError at com.amazonaws.queue.AmazonSQSClient.(AmazonSQSClient.java: 108) at compareodds.webapp.server.util.SQSQueue.buildQueue(SQSQueue.java: 65) at compareodds.webapp.server.util.SQSQueue.buildURLQueue (SQSQueue.java:57) at compareodds.webapp.server.request.URLUpdate.(URLUpdate.java: 33) at compareodds.webapp.server.request.handlers.cron_url_update_delta.doGet (cron_url_update_delta.java:37) at javax.servlet.http.HttpServlet.service(HttpServlet.java:693) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1093) at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter (SaveSessionFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 405) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle (AppVersionHandlerMap.java:238) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 506) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete (HttpConnection.java:830) at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable (RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:139) at com.google.apphosting.runtime.JavaRuntime.handleRequest (JavaRuntime.java:239) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5235) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:5233) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java:24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 363) at com.google.net.rpc.impl.Server$2.run(Server.java:838) at com.google.tracing.LocalTraceSpanRunnable.run (LocalTraceSpanRunnable.java:56) at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan (LocalTraceSpanBuilder.java:536) at com.google.net.rpc.impl.Server.startRpc(Server.java:793) at com.google.net.rpc.impl.Server.processRequest(Server.java:368) at com.google.net.rpc.impl.ServerConnection.messageReceived (ServerConnection.java:448) at com.google.net.rpc.impl.RpcConnection.parseMessages (RpcConnection.java:319) at com.google.net.rpc.impl.RpcConnection.dataReceived (RpcConnection.java:290) at com.google.net.async.Connection.handleReadEvent(Connection.java: 466) at com.google.net.async.EventDispatcher.processNetworkEvents (EventDispatcher.java:759) at com.google.net.async.EventDispatcher.internalLoop (EventDispatcher.java:205) at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: 101) at com.google.net.rpc.RpcService.runUntilServerShutdown (RpcService.java:251) at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run (JavaRuntime.java:396) at java.lang.Thread.run(Unknown Source) Caused by: javax.xml.bind.JAXBException: Provider com.sun.xml.internal.bind.v2.ContextFactory not found - with linked exception: [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory] at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:178) at javax.xml.bind.ContextFinder.find(ContextFinder.java:324) at javax.xml.bind.JAXBContext.newInstance(Unknown Source) at javax.xml.bind.JAXBContext.newInstance(Unknown Source) at com.amazonaws.queue.AmazonSQSClient.(AmazonSQSClient.java: 106) ... 45 more Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory at com.google.appengine.runtime.Request.process-90ff316e1afcecd2 (Request.java) at java.lang.ClassLoader.loadClass(Unknown Source) at javax.xml.bind.Conte
Re: [appengine-java] Re: JAXB doesn't work for me in 1.2.8
Can one of you post a full stack trace? Thanks, Don On Fri, Dec 4, 2009 at 12:42 PM, javaprime wrote: > Same problem here. > > On Dec 4, 8:16 am, Jeremy Blythe wrote: > > I get this error: > > > > Constructor threw exception; nested exception is > > java.lang.RuntimeException: javax.xml.bind.JAXBException > > - with linked exception: > > [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory] > > > > My Constructor is pretty simple: > > > > RssService() { > > try { > > jaxbContext = JAXBContext.newInstance(Rss.class); > > unmarshaller = jaxbContext.createUnmarshaller(); > > marshaller = jaxbContext.createMarshaller(); > > > marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); > > > } catch (JAXBException e) { > > throw new RuntimeException(e); > > } > > } > > > > I only get this problem on the Deployed environment, not on the > > Development environment. > > > > Am I missing something? > > -- > > 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.
Re: [appengine-java] JAXB doesn't work for me in 1.2.8
Can you supply a stacktrace please? On Fri, Dec 4, 2009 at 3:16 AM, Jeremy Blythe wrote: > I get this error: > > Constructor threw exception; nested exception is > java.lang.RuntimeException: javax.xml.bind.JAXBException > - with linked exception: > [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory] > > My Constructor is pretty simple: > >RssService() { >try { >jaxbContext = JAXBContext.newInstance(Rss.class); >unmarshaller = jaxbContext.createUnmarshaller(); >marshaller = jaxbContext.createMarshaller(); > > marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); >} catch (JAXBException e) { >throw new RuntimeException(e); >} >} > > I only get this problem on the Deployed environment, not on the > Development environment. > > Am I missing something? > > -- > > 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] Re: JAXB doesn't work for me in 1.2.8
Same problem here. On Dec 4, 8:16 am, Jeremy Blythe wrote: > I get this error: > > Constructor threw exception; nested exception is > java.lang.RuntimeException: javax.xml.bind.JAXBException > - with linked exception: > [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory] > > My Constructor is pretty simple: > > RssService() { > try { > jaxbContext = JAXBContext.newInstance(Rss.class); > unmarshaller = jaxbContext.createUnmarshaller(); > marshaller = jaxbContext.createMarshaller(); > > marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); > > } catch (JAXBException e) { > throw new RuntimeException(e); > } > } > > I only get this problem on the Deployed environment, not on the > Development environment. > > Am I missing something? -- 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] JDO/JPA Snippets That Work - != and IN Filters
http://gae-java-persistence.blogspot.com/2009/12/queries-with-and-in-filters.html -- 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: Processing incoming email
OK. now I am really puzzled. message.getContent() is very much dependent on how message is sent, e.g. email from Gmail: message.getContent().getClass().getName() is javax.mail.internet.MimeMultipart email from Hotmail and Yahoo mail: message.getContent().getClass().getName() throws: Uncaught exception from servlet java.io.IOException: Truncated quoted printable data at org.apache.geronimo.mail.util.QuotedPrintableEncoder.decodeNonspaceChar (QuotedPrintableEncoder.java:597) at org.apache.geronimo.mail.util.QuotedPrintableEncoder.decode (QuotedPrintableEncoder.java:584) at org.apache.geronimo.mail.util.QuotedPrintableDecoderStream.read (QuotedPrintableDecoderStream.java:80) at org.apache.geronimo.mail.handlers.TextHandler.getContent (TextHandler.java:107) at javax.activation.DataSourceDataContentHandler.getContent(Unknown Source) at javax.activation.DataHandler.getContent(Unknown Source) at javax.mail.internet.MimeMessage.getContent(MimeMessage.java:927) On Dec 4, 6:38 pm, Peter Ondruska wrote: > Ikai, my code looks same as yours to me: > > package eu.kaibo.server; > > import java.io.ByteArrayInputStream; > import java.io.IOException; > import java.io.InputStream; > import java.util.Properties; > import java.util.logging.Level; > import java.util.logging.Logger; > > import javax.mail.Address; > import javax.mail.MessagingException; > import javax.mail.Multipart; > import javax.mail.Part; > import javax.mail.Session; > import javax.mail.internet.MimeMessage; > import javax.mail.internet.MimeMultipart; > import javax.mail.util.ByteArrayDataSource; > import javax.servlet.ServletException; > import javax.servlet.http.HttpServlet; > import javax.servlet.http.HttpServletRequest; > import javax.servlet.http.HttpServletResponse; > > import com.google.appengine.api.labs.taskqueue.QueueFactory; > import com.google.appengine.api.labs.taskqueue.TaskOptions; > > public class MailHandler extends HttpServlet { > > private static final long serialVersionUID = 895612806305910032L; > > private final Logger logger = Logger.getLogger(getClass().getName()); > > @Override > protected void doPost(HttpServletRequest request, HttpServletResponse > response) throws ServletException, IOException { > > Session session = Session.getDefaultInstance(new Properties(), > null); > > try { > > MimeMessage message = new MimeMessage(session, > request.getInputStream()); > > StringBuffer sb = new StringBuffer(); > > sb.append("From: "); > Address[] senders = message.getFrom(); > for (int i = 0; i < senders.length; i++) > sb.append(senders[i].toString()).append("; "); > sb.append("\n"); > > sb.append("To: "); > Address[] receivers = message.getAllRecipients(); > for (int i = 0; i < receivers.length; i++) > sb.append(receivers[i].toString()).append("; > "); > sb.append("\n"); > > line 55: InputStream is = (InputStream) > message.getContent(); > ByteArrayDataSource byteArrayDataSource = new > ByteArrayDataSource > (is, message.getContentType()); > Multipart mmp = new > MimeMultipart(byteArrayDataSource); > > for (int i = 0; i < mmp.getCount(); i++) { > Part p = mmp.getBodyPart(i); > if ("text/plain".equals(p.getContentType())) { > if (i > 0) sb.append("***"); > ByteArrayInputStream bais = > (ByteArrayInputStream) p.getContent > (); > byte[] buffer = new byte[1024]; > int length = 0; > while ((length = bais.read(buffer)) > != -1) > sb.append(new String(buffer, > 0, length)); > } > } > > TaskOptions taskOptions = > TaskOptions.Builder.url("/worker/mail"); > taskOptions.param("sender", "x"); > taskOptions.param("receiver", "x"); > taskOptions.param("subject", "FW: " + > message.getSubject()); > taskOptions.param("body", sb.toString()); > QueueFactory.getDefaultQueue().add(taskOptions); > > } catch (MessagingException e) { > logger.log(Level.SEVERE, null, e); > } > > } > > } > > I am still getting exception: > > Uncaught exception from servlet > java.io.IOExcept
Re: [appengine-java] Unable to update app: Version not ready.
This should have been resolved. Can you double check? On Fri, Dec 4, 2009 at 8:56 AM, PLL wrote: > Hi, > > I am receiving a "Unable to update app: Version not ready" deployement > error for the application quemap-alpha-dev. > > Can anybody help ? > > thank you. > > Here are the Event Details: > > /**/ > Message: > > Unable to update app: Version not ready. > See the deployment console for more details. > > Exception Stack Trace: > > com.google.appengine.tools.admin.AdminException: Unable to update app: > Version not ready. >at com.google.appengine.tools.admin.AppAdminImpl.update > (AppAdminImpl.java:62) >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) > Caused by: java.lang.RuntimeException: Version not ready. >at com.google.appengine.tools.admin.AppVersionUpload.commit > (AppVersionUpload.java:361) >at com.google.appengine.tools.admin.AppVersionUpload.doUpload > (AppVersionUpload.java:114) >at com.google.appengine.tools.admin.AppAdminImpl.update > (AppAdminImpl.java:56) >... 4 more > > Session Data: > > eclipse.buildId=M20090917-0800 > java.version=1.5.0_07 > java.vendor=Sun Microsystems Inc. > BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_CA > Framework arguments: -product org.eclipse.epp.package.jee.product > Command-line arguments: -os win32 -ws win32 -arch x86 -product > org.eclipse.epp.package.jee.product > > -- > > 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. > > > -- 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: App Engine SDK 1.2.8 released including new Admin Console features
1.2.8 is available on the Eclipse update site now. Sorry for the delay. On Dec 3, 6:26 pm, Oasis wrote: > Is it deployed to Eclipse update site? I could not found this release > in Eclipse software update, even after refresh. -- 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] What does true do?
The 1.2.8 release notes state that pre-compilation reduces "the length of loading requests". Does pre-compilation reduce the *time* to load the application? How does pre-compilation work? I noticed that the appcfg update command logs information about precompilation. -- 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 SDK 1.2.8 released including new Admin Console features
Is it deployed to Eclipse update site? I could not found this release in Eclipse software update, even after refresh. -- 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: Querying sub objects with JDOQL in GAE/J
Just want to share what I did. I use JDOQL to query the preferred child object. >From that child object, I use its key to get the parent key, and from that parent key I have the primary key of the parent object. Then, I get the parent and child object together in the same entity group using the primary key. It's all done in the same transaction. I hope this help a bit. On Nov 17, 11:04 pm, leszek wrote: > It is not supported in Google App Engine JPA/JDO > > http://code.google.com/intl/pl/appengine/docs/java/datastore/usingjdo... > > > "Join" queries. You cannot use a field of a child entity in a filter > when performing a query on the parent kind. Note that you can test the > parent's relationship field directly in query using a key. > --- > > The only way is to "denormalization". Simple duplicate fields in > Employ and ContactInfo you want to query on. -- 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] Google App Engine Error 500
Hi everybody, I am new to Google App Engine.I have recently downloaded App Engine SDK 1.2.6 .I use the Eclipse IDE with GWT and App Engine plugin for Eclipse Java EE IDE for Web DevelopersI followed all the steps given in the "Getting Started" page of Google App Engine for Java!!.I already have my port 8080 engaged with some other Web Server..hence wen i debug the so called example of Guestbook Application i get an error tht the port is already in use...so i changed the debug configuration and edited the port no in Eclipse IDE.wen i debug now i get a strange HttpError 500: javax.servlet.FilterChain is a restricted class. Please see the Google App Engine developer's guide for more details. RequestURI=/guestbook I am stuck with this error nowHope u guys help me out with this problem. -- 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] Unable to update app: Version not ready.
Hi, I am receiving a "Unable to update app: Version not ready" deployement error for the application quemap-alpha-dev. Can anybody help ? thank you. Here are the Event Details: /**/ Message: Unable to update app: Version not ready. See the deployment console for more details. Exception Stack Trace: com.google.appengine.tools.admin.AdminException: Unable to update app: Version not ready. at com.google.appengine.tools.admin.AppAdminImpl.update (AppAdminImpl.java:62) 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) Caused by: java.lang.RuntimeException: Version not ready. at com.google.appengine.tools.admin.AppVersionUpload.commit (AppVersionUpload.java:361) at com.google.appengine.tools.admin.AppVersionUpload.doUpload (AppVersionUpload.java:114) at com.google.appengine.tools.admin.AppAdminImpl.update (AppAdminImpl.java:56) ... 4 more Session Data: eclipse.buildId=M20090917-0800 java.version=1.5.0_07 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_CA Framework arguments: -product org.eclipse.epp.package.jee.product Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product -- 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: javax.jdo.JDOObjectNotFoundException: Could not retrieve entity of kind Transactions with key Transactions(Transactions(67))
"com.google.appengine.api.datastore.Key:Categories(76)" is what's returned on the insert: Categories category = new Categories(user.getNickname(), account, categoryName); pm.makePersistent(category); Object o = JDOHelper.getObjectId(category); System.out.println(o.toString()); This is what's returned when doing the delete: Dec 4, 2009 12:57:54 PM org.datanucleus.jdo.JDOAdapter getNewSingleFieldIdentity SEVERE: Error encountered while creating SingleFieldIdentity instance of type "javax.jdo.identity.ObjectIdentity" Dec 4, 2009 12:57:54 PM org.datanucleus.jdo.JDOAdapter getNewSingleFieldIdentity SEVERE: java.lang.reflect.InvocationTargetException Dec 4, 2009 12:57:54 PM com.google.apphosting.utils.jetty.JettyLogger warn WARNING: /categories java.lang.NullPointerException at ma.CategoriesServlet.doPost(CategoriesServlet.java:61) at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1093) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 405) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle (DevAppEngineWebAppContext.java:54) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at com.google.appengine.tools.development.JettyContainerService $ApiProxyHandler.handle(JettyContainerService.java:306) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 506) at org.mortbay.jetty.HttpConnection$RequestHandler.content (HttpConnection.java:844) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) at org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:396) at org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:442) Which log are you referring to? Can you point me to where it would be on my computer? On Dec 3, 7:36 am, datanucleus wrote: > > This is strange - when I retrieve the object after persisting via > > "JDOHelper.getObjectId(obj)", I get an object back no problem. > > Yes, but you haven't told us what is the "id" returned by that method. > And whats in the log when you invoke that pm.getObjectById ... ? > > > Then,before trying to delete the object, I do "pm.newObjectIdInstance > > (Categories.class, key)" and I get a NullPointerException. > > Perhaps if you post the actual exception and stack trace, cos without > it it means very little. > ANd whats in the log ? -- 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] unable to deploy new versions after upgrade to 1.2.8
Yes, it should be fixed now. Let us know if you're still having trouble. On Fri, Dec 4, 2009 at 11:35 AM, Raphael André Bauer < raphael.andre.ba...@gmail.com> wrote: > On Fri, Dec 4, 2009 at 6:32 PM, jacek.ambroziak > wrote: > > I am going through all the usual motions and yet the deployment of a > > new version never finishes successfully; > > instead I am getting > > > > java.lang.RuntimeException: Version not ready. > > > > in the /tmp log > > I had the same issue today... (also according to > google-appengine-downtime-not...@googlegroups.com). > > it is fixed now (at least for me)... > > ra > > > > -- > > > > 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. > > > -- 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: Processing incoming email
Ikai, my code looks same as yours to me: package eu.kaibo.server; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import java.util.logging.Level; import java.util.logging.Logger; import javax.mail.Address; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Part; import javax.mail.Session; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.util.ByteArrayDataSource; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.appengine.api.labs.taskqueue.QueueFactory; import com.google.appengine.api.labs.taskqueue.TaskOptions; public class MailHandler extends HttpServlet { private static final long serialVersionUID = 895612806305910032L; private final Logger logger = Logger.getLogger(getClass().getName()); @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Session session = Session.getDefaultInstance(new Properties(), null); try { MimeMessage message = new MimeMessage(session, request.getInputStream()); StringBuffer sb = new StringBuffer(); sb.append("From: "); Address[] senders = message.getFrom(); for (int i = 0; i < senders.length; i++) sb.append(senders[i].toString()).append("; "); sb.append("\n"); sb.append("To: "); Address[] receivers = message.getAllRecipients(); for (int i = 0; i < receivers.length; i++) sb.append(receivers[i].toString()).append("; "); sb.append("\n"); line 55:InputStream is = (InputStream) message.getContent(); ByteArrayDataSource byteArrayDataSource = new ByteArrayDataSource (is, message.getContentType()); Multipart mmp = new MimeMultipart(byteArrayDataSource); for (int i = 0; i < mmp.getCount(); i++) { Part p = mmp.getBodyPart(i); if ("text/plain".equals(p.getContentType())) { if (i > 0) sb.append("***"); ByteArrayInputStream bais = (ByteArrayInputStream) p.getContent (); byte[] buffer = new byte[1024]; int length = 0; while ((length = bais.read(buffer)) != -1) sb.append(new String(buffer, 0, length)); } } TaskOptions taskOptions = TaskOptions.Builder.url("/worker/mail"); taskOptions.param("sender", "x"); taskOptions.param("receiver", "x"); taskOptions.param("subject", "FW: " + message.getSubject()); taskOptions.param("body", sb.toString()); QueueFactory.getDefaultQueue().add(taskOptions); } catch (MessagingException e) { logger.log(Level.SEVERE, null, e); } } } I am still getting exception: Uncaught exception from servlet java.io.IOException: Truncated quoted printable data at org.apache.geronimo.mail.util.QuotedPrintableEncoder.decodeNonspaceChar (QuotedPrintableEncoder.java:597) at org.apache.geronimo.mail.util.QuotedPrintableEncoder.decode (QuotedPrintableEncoder.java:584) at org.apache.geronimo.mail.util.QuotedPrintableDecoderStream.read (QuotedPrintableDecoderStream.java:80) at org.apache.geronimo.mail.handlers.TextHandler.getContent (TextHandler.java:107) at javax.activation.DataSourceDataContentHandler.getContent(Unknown Source) at javax.activation.DataHandler.getContent(Unknown Source) at javax.mail.internet.MimeMessage.getContent(MimeMessage.java:927) at eu.kaibo.server.MailHandler.doPost(MailHandler.java:55) at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) On Dec 2, 7:08 pm, "Ikai L (Google)" wrote: > Peter, > > I'm working on a cookbook entry for processing incoming mail in Java. Here's > some code I had working. Can you take a look at this and see if there's > anything you can adapt? > > import com.google.appengine.api.datastore.Blob; > import com.google.appengine.api.datastore.Key; > > import javax.jdo.annotations.*; > > @PersistenceCapable(identityType = IdentityType.AP
Re: [appengine-java] unable to deploy new versions after upgrade to 1.2.8
On Fri, Dec 4, 2009 at 6:32 PM, jacek.ambroziak wrote: > I am going through all the usual motions and yet the deployment of a > new version never finishes successfully; > instead I am getting > > java.lang.RuntimeException: Version not ready. > > in the /tmp log I had the same issue today... (also according to google-appengine-downtime-not...@googlegroups.com). it is fixed now (at least for me)... ra > > -- > > 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] unable to deploy new versions after upgrade to 1.2.8
I am going through all the usual motions and yet the deployment of a new version never finishes successfully; instead I am getting java.lang.RuntimeException: Version not ready. in the /tmp log -- 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: Help Requested: How to persist a HashMap>?
> JDOHelper.makeSerializedDirty(object); Maybe best not to call it "JDOHelper" since that class is already defined and you'll give people the impression that this is a valid method on that (standard) class, and the method clearly wont work for classes using XML metadata. -- 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: Help Requested: How to persist a HashMap>?
I was asked, via email, to post the class that used this and the code to use the function above: The field this was directed to had a member like the following: @Persistent(serialized = "true",defaultFetchGroup="true") private Map callbackUrlMap = new HashMap (); I used the above function in another function that I call a GenericDao. It was my understanding that inserting works fine, it's when you try to update that it has problems. Note that there is some copying below because I'm using GWT and the enhanced classes don't go over the GWT wire without removing the extra stuff added by JDO. It is as follows (bear in mind, this is a WIP): /** * Gets the database version based off the object passed in, copies * the argument object to the database object, then persists any changes. * * @param clazz - class being persisted * @param object - object to be persisted * @return * @throws DaoException */ public T update(Class clazz, T object) throws DaoException { assert ClientUtil.isNotEmpty(object.getId()); Log.debug("update=["+object+"]"); PersistenceManager pm = PMF.get().getPersistenceManager(); T returnT = null; try { T dbObject = null; try { dbObject = pm.getObjectById(clazz, object.getId()); } catch(JDOObjectNotFoundException e){ throw new DaoException("Object does not exist in the database, can't update it",e); } // Dozer's copy adds to arrays, it doesn't remove (unless a schema file is specified) //copy(object, dbObject); // copy fields from existing object to database object (making any changed fields "dirty") object.setId(dbObject.getId()); // just copy the ID...this may end up bad JDOHelper.makeSerializedDirty(object); returnT = copy(object.getClass(), pm.makePersistent(object)); } catch(Exception e){ Log.error("Unable to update object ["+object+"]",e); throw new DaoException("Unable to update object",e); } finally { PMF.tearDown(pm); } Log.debug("updated object with ID=["+object.getId()+"]"); return returnT; } -Nick On Nov 24, 8:51 am, Nick wrote: > I had the same problem and came up with this snippet of code to work > around the issue. Use it when you are updating your object: > > /** > * Iterates through the object and makes any persistent annotated > objects that are serialized = "true" > * dirty using javax.jdo.JDOHelper.makeDirty. > * @param > * @param tInstance > */ > public static void makeSerializedDirty(T tInstance){ > for (Field field : tInstance.getClass().getDeclaredFields()) { > Persistent persistent = > field.getAnnotation(Persistent.class); > if(persistent != null && > Boolean.valueOf(persistent.serialized())){ > javax.jdo.JDOHelper.makeDirty(tInstance, > field.getName()); > } > } > } > > -Nick > > On Oct 11, 7:34 pm, doc wrote: > > > > > This sample work but could not update content of HashMap > > > Thank you Jason to provide useful sample. Based on this sample I have > > implemented my application which use hashMap. But when I add additem > > method like following added Item is not stored in a datastore. > > > public void addUsers(String userID, CustomUser user) > > { > > users.put(userID, user.) > > > } > > > I guess the reason of this problem come from that JDO recognize this > > HashMap users as a serializable Blob. So when we access HashMap users, > > JOD deserialize Blob and create HashMap instance and provide us as a > > HashMap users instance. But JDO can not recognize what happen to the > > users after deserialization. So JDO do not try to save users when I > > close StateCore instance. > > > So I changed code as following. This code could store added > > CoustomUser instance when I close StateCore instance. > > > @NotPersistent > > private HashMapusersTemp; > > > public void addUsers(String userID, CustomUser addUser) > > { > > users.put(userID, addUser.) > > > usersTemp=users; > > users=null; > > users=UsersTemp > > > } > > > Not sure this is the best counter measure for this problem but if > > someone has same problem , please try. -- 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 unsubs
Re: [appengine-java] 1.2.8 SDK Prerelease - help us verify!
Hi Max, Yes, it works. Thanks very much. Vince P.S. While step-debugging a task, I noticed that they seem to time-out very quickly--within about 5 seconds. Is this intentional? Here's a partial stacktrace: Dec 4, 2009 3:03:58 PM com.google.appengine.api.labs.taskqueue.dev.DevQueue runTask SEVERE: Exception executing task 24b5a6e4-c327-4bc6-bc4f-51f838f3d1a5 on queue write-behind-task com.google.apphosting.api.ApiProxy$ApplicationException: ApplicationError: 5: http method GET against URL http://127.0.0.1:8080/_ah/queue/write-behind-task?watchdog=839445f1-2c77-4c2c-bf32-81b88d5e092etimed out. at com.google.appengine.api.urlfetch.dev.LocalURLFetchService.fetch(LocalURLFetchService.java:214) at com.google.appengine.api.labs.taskqueue.dev.UrlFetchJob.execute(UrlFetchJob.java:53) at com.google.appengine.api.labs.taskqueue.dev.UrlFetchJob.execute(UrlFetchJob.java:46) at com.google.appengine.api.labs.taskqueue.dev.DevQueue.runTask(DevQueue.java:221) at com.google.appengine.api.labs.taskqueue.dev.LocalTaskQueue.runTask(LocalTaskQueue.java:313) On Thu, Dec 3, 2009 at 7:01 PM, Max Ross (Google) > wrote: > Vince, > > We added a last minute fix for this in the SDK that just went out. Could > you please try your code with the official SDK download? > > Thanks, > Max > > > On Thu, Dec 3, 2009 at 12:15 PM, Max Ross (Google) < > maxr+appeng...@google.com > wrote: > >> Sure, sorry for the trouble, and thanks for trying out the prerelease! >> >> Max >> >> >> On Thu, Dec 3, 2009 at 12:12 PM, Vince Bonfanti wrote: >> >>> That fixed it. Thanks. >>> >>> Vince >>> >>> >>> On Thu, Dec 3, 2009 at 2:24 PM, Max Ross (Google) < >>> maxr+appeng...@google.com > wrote: >>> Vince, As a workaround, try setting the missing environment attribute explicitly before you add the task to the queue: ApiProxy.getCurrentEnvironment().getAttributes().put("com.google.appengine.server_url_key", "http://localhost:8080";); This should only be necessary for tasks that are added when there is no "live" request and it should have no impact in prod. Sorry for the trouble, Max On Thu, Dec 3, 2009 at 10:20 AM, Max Ross (Google) < maxr+appeng...@google.com > wrote: > Hi Vince, > > That sounds like a bug in our code that was a side effect of the > automatic task execution that now happens in the dev environment. Let me > see if I can come up with a workaround for you. > > Max > > On Thu, Dec 3, 2009 at 10:06 AM, Vince Bonfanti > wrote: > >> I just started testing with the 1.2.8 prerelease, and I'm getting the >> following exception from Queue.add() in code that works in 1.2.6: >> >> java.lang.IllegalStateException: Current enviornment must have the >> server url available via the com.google.appengine.server_url_key >> attribute. >> >> This only happens when Queue.add() is invoked from the servlet init() >> method or from a static initializer; if Queue.add() is invoked from a >> "regular" request thread, then it works properly. >> >> Vince >> >> >> On Tue, Nov 24, 2009 at 9:00 PM, Ikai L (Google) >> wrote: >> >>> Hello App Engine Developers, >>> >>> As part of our ongoing efforts to improve release quality and >>> transparency, we will start prereleasing SDKs for early testing. We >>> hope this gives developers a chance to participate in our release >>> process by trying out new changes and sending feedback. As of this >>> morning, the prerelease SDK for our next release, 1.2.8, is available >>> in the familiar download location (note that the filename ends in >>> 'prerelease.zip'): >>> >>> http://code.google.com/p/googleappengine/downloads/list >>> >>> If you're interested, please download and give it a try locally with >>> your favorite App Engine code. Please note that, as a prerelease, >>> this >>> SDK is not yet supported and still subject to change. Thus, please >>> don't take critical dependencies or make substantial changes to >>> production apps based on this SDK. >>> >>> Importantly, this prerelease is purely for the SDK and is intended >>> for >>> local testing and development in dev_appserver. The server-side of >>> App >>> Engine (our production environment) is not at 1.2.8, so deploying >>> with >>> this SDK is not yet supported. In the future, we might enable a >>> complete SDK and server test environment for prereleases. >>> >>> A few notes on 1.2.8 in particular - this release is primarily for >>> servicing and updates in preparation for some exciting feature >>> launches we have in the pipeline. The current release notes (still >>> subject to change) are included below; these release notes do include >>> changes which will only be available on the server side Admin Console >>> (non-local) once 1.2.8 i
[appengine-java] Re: Text Search Support for Java
The type of "full text search" sample that I would be interested in seeing demonstrated in tutorials or libraries for Google App Engine, would be searching across 1 or 2 fields (Title, Summary) of a small index (less than 1000 records, persisted to GAE updateable datastore) to power an autocomplete control eg. using Google Closure Library autocomplete (http://closure-library.googlecode.com/svn/trunk/closure/ goog/demos/autocompleteremote.html). So performance would be key for autocomplete, perhaps using Memcache for this small dataset. And with an aspect of "fuzzy search" to allow user friendly autocomplete behaviour. Then more extensive full text search could be powered by Google Custom Search, with a Linked CSE (search definition) hosted on Google App Engine. So for public content only, indexed by Google. Then I suppose it's playing to the strengths of the different offerings ie. using GAE for the lighter/AJAX type searching scenarios, and Google Custom Search for a richer index. Andy On Dec 2, 11:44 pm, "Ikai L (Google)" wrote: > Full text search isn't on our public > roadmap:http://code.google.com/appengine/docs/roadmap.html > > The link describes what we plan on releasing in the upcoming months. > > > > > > On Wed, Dec 2, 2009 at 3:28 PM, steveb wrote: > > I'm also very interested in this feature. I'm looking at plugging in > > Lucene (http://www.kimchy.org/searchable-google-appengine-with-compass > > ) to achieve search but I can imagine that there will be lots of > > issues with storage, indexing, security, CPU use etc with this > > solution. > > > If we can get an indication of rough roadmap then we can decide > > whether to delay and wait or bite off this hairy bit of integration > > work. > > > p.s. would it be possible to bridge between java and python > > SearchableModel? I think this would be less total work than plugging > > in Lucene. I'd be happy to hear any war stories in this area. > > > Thanks, Steve > > > On Dec 3, 7:53 am, lent wrote: > > > Hi, > > > > This question is targeted at Google guys. Is there any plans to have > > > limited support for full text search for Java, i.e. something like the > > > equivalent of SearchableModel in Python, and if so when can this be > > > expected? When is FULL support for full text search be expected for > > > appengine (Python and Java)? > > > > Regards, > > > Len > > > -- > > > 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 > unsubscr...@googlegroups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/google-appengine-java?hl=en. > > -- > 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.
Re: [appengine-java] App Engine SDK 1.2.8 released including new Admin Console features
Is SDK 1.2.8 going to be added to the Eclipse update site? Vince On Thu, Dec 3, 2009 at 6:06 PM, App Engine Team wrote: > The App Engine team has been hard at work tackling our the issues on > our tracker, tweaking APIs and closing bugs. In addition to a ton of > bug fixes, 1.2.8 also includes: > > Enhanced Admin Console - Users will notice new tools for managing > tasks and queues created with the Task Queue API, and more visibility > into index processing. > > Improved Java Compatibility - This release adds support for new filter > operators and inheritance to JPA and JDO as well as support for JAXB, > the single most requested feature for the Java SDK. > > This was also the first release we "previewed" with developers before > formally rolling out changes. Thanks very much to all the developers > that gave us feedback on the preview release. > > 1.2.8 is now available for both Python and Java developers. Take a > look at our release notes for details on all the changes included in > this release. > > -- 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] Is replyTo supposed to work when sending emails?
I cant remember right now, but ill get back to you On 12/4/09, Guillaume Laforge wrote: > Actually, I've had a look at the message headers, and I do see a reply to: > > Reply-To: f...@bar.com > > But it's when I hit reply in Gmail that it replies to the sender and not the > replyTo. > > So perhaps it's more a problem of Gmail itself than of the SDK? > > David, have you experienced this when replying from withing Gmail, or was it > elsewhere? (other mail client or provider) > > Guillaume > > > On Fri, Dec 4, 2009 at 13:47, Guillaume Laforge wrote: > >> So I guess I'm not dreaming, replyTo is not respected. >> Should I file an issue in the bug tracker about this? >> >> >> On Fri, Dec 4, 2009 at 13:45, david ruescas wrote: >> >>> Ive observed the same behaviour >>> >>> -- >>> >>> 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. >>> >>> >>> >> >> >> -- >> Guillaume Laforge >> Groovy Project Manager >> Head of Groovy Development at SpringSource >> http://www.springsource.com/g2one >> > > > > -- > Guillaume Laforge > Groovy Project Manager > Head of Groovy Development at SpringSource > http://www.springsource.com/g2one > > -- > > 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.
Re: [appengine-java] Is replyTo supposed to work when sending emails?
Actually, I've had a look at the message headers, and I do see a reply to: Reply-To: f...@bar.com But it's when I hit reply in Gmail that it replies to the sender and not the replyTo. So perhaps it's more a problem of Gmail itself than of the SDK? David, have you experienced this when replying from withing Gmail, or was it elsewhere? (other mail client or provider) Guillaume On Fri, Dec 4, 2009 at 13:47, Guillaume Laforge wrote: > So I guess I'm not dreaming, replyTo is not respected. > Should I file an issue in the bug tracker about this? > > > On Fri, Dec 4, 2009 at 13:45, david ruescas wrote: > >> Ive observed the same behaviour >> >> -- >> >> 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. >> >> >> > > > -- > Guillaume Laforge > Groovy Project Manager > Head of Groovy Development at SpringSource > http://www.springsource.com/g2one > -- Guillaume Laforge Groovy Project Manager Head of Groovy Development at SpringSource http://www.springsource.com/g2one -- 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] Is replyTo supposed to work when sending emails?
So I guess I'm not dreaming, replyTo is not respected. Should I file an issue in the bug tracker about this? On Fri, Dec 4, 2009 at 13:45, david ruescas wrote: > Ive observed the same behaviour > > -- > > 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. > > > -- Guillaume Laforge Groovy Project Manager Head of Groovy Development at SpringSource http://www.springsource.com/g2one -- 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] Is replyTo supposed to work when sending emails?
Ive observed the same behaviour -- 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] Is replyTo supposed to work when sending emails?
Hi all, I specified a replyTo when building a message I'm sending from my application. I'm sending with my authorized email address, but setting a different replyTo, corresponding to the email a user has entered in a contact form. However, the email I receive doesn't seem to exhibit the replyTo I specified, and instead, when I hit reply, that's to the authorized sender (my own account) that I'm replying to. Am I missing something? Isn't it supposed to be working? -- Guillaume Laforge Groovy Project Manager Head of Groovy Development at SpringSource http://www.springsource.com/g2one -- 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: Text Search Support for Java
I am quite at the beginning of trying to implement compass on GAE, but maybe it helps if I share my thoughts: > > 1. Task queues do not work, because tasks might get executed in > parallel what almost for sure messes up your index maybe setting the rate of the task queue might help? http://code.google.com/appengine/docs/java/config/queue.html (e.g, 1 task / minute) > (http://forum.compass-project.org/message.jspa?messageID=299109#299109) > 2. Compass uses a huge amount of CPU I haven't experiences with that yet > 3. Frequently, the Index gets corrupted and your have to reindex > everything => quite a pain (random, strange errors) you could set up a cronjob that calls a servlet once a day. the servlet gets all keys for a certain entity and split's up the bunch of keys into small portions (e.g., one-to-many tasks). > 4. The search is not really fast At the moment I need compass for just one table (where I have to search about a lof of properties (also in the same query) which is hardly possible using regular datastore queries. Additionally, I would also need a lot of indexes (which is imho circumvented by compass). I also don't have a lot of information to index per property (e.g., no datastore texts). In addition, the compass trunk includes now the option to put some of the generated lucene indexes into memcache (which I think may speed-up the search process). > > Summing up: Compass is really cool, but it (and lucene) is not made > for GAE. And imho it does not work well. > -- 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: Text Search Support for Java
On Fri, Dec 4, 2009 at 11:46 AM, a.maza wrote: > regarding compass: > > what about creating a task, which fetches a number of entities in > batch mode and (re-)indexes them? I implemented a completely manual indexing using task queues (and many other ides), and in theory that's really cool. However I had three problems: 1. Task queues do not work, because tasks might get executed in parallel what almost for sure messes up your index (http://forum.compass-project.org/message.jspa?messageID=299109#299109) 2. Compass uses a huge amount of CPU 3. Frequently, the Index gets corrupted and your have to reindex everything => quite a pain (random, strange errors) 4. The search is not really fast Summing up: Compass is really cool, but it (and lucene) is not made for GAE. And imho it does not work well. However, you can implement FTS using a lucene stemmer and List properties yourself. And using that approach you are using all advantages of GAE and it's underlaying datastructures... Raphael > > > > > On 4 Dez., 11:28, Raphael André Bauer > wrote: >> On Thu, Dec 3, 2009 at 7:25 PM, Jess Evans wrote: >> > The compass solution is probably sufficient for pet projects. If I >> > correctly recall, there are still serious scalability issues due to the way >> > indexes are currently stored and restrictions on app store blob size. The >> > main issue is initial timeouts due to the GAE design flaw wrt startup / >> > initial request -> timeout. Initializing compass, lucene, jdo, and serving >> > even a simple request cuts very close to the deadline. >> >> I can confirm this. If you have a really small project you can use >> Compass (both for JPA and JDO). If you have more than about 100MB to >> index it will not work due to many many reasons (tested that 3 weeks >> ago). >> >> So you have to come up with your own solution to this... >> >> ra! > > -- > > 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] Re: Text Search Support for Java
regarding compass: what about creating a task, which fetches a number of entities in batch mode and (re-)indexes them? On 4 Dez., 11:28, Raphael André Bauer wrote: > On Thu, Dec 3, 2009 at 7:25 PM, Jess Evans wrote: > > The compass solution is probably sufficient for pet projects. If I > > correctly recall, there are still serious scalability issues due to the way > > indexes are currently stored and restrictions on app store blob size. The > > main issue is initial timeouts due to the GAE design flaw wrt startup / > > initial request -> timeout. Initializing compass, lucene, jdo, and serving > > even a simple request cuts very close to the deadline. > > I can confirm this. If you have a really small project you can use > Compass (both for JPA and JDO). If you have more than about 100MB to > index it will not work due to many many reasons (tested that 3 weeks > ago). > > So you have to come up with your own solution to this... > > ra! -- 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: Text Search Support for Java
On Thu, Dec 3, 2009 at 7:25 PM, Jess Evans wrote: > The compass solution is probably sufficient for pet projects. If I > correctly recall, there are still serious scalability issues due to the way > indexes are currently stored and restrictions on app store blob size. The > main issue is initial timeouts due to the GAE design flaw wrt startup / > initial request -> timeout. Initializing compass, lucene, jdo, and serving > even a simple request cuts very close to the deadline. I can confirm this. If you have a really small project you can use Compass (both for JPA and JDO). If you have more than about 100MB to index it will not work due to many many reasons (tested that 3 weeks ago). So you have to come up with your own solution to this... ra! -- 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] Random App Engine errors
On Thu, Dec 3, 2009 at 11:12 PM, Ikai L (Google) wrote: > Are these still occurring? What are your application IDs? Hey Ikal, eh errors happend around 2nd Dec, App Engine time 11:00 AM (Icannot say 100% exactly when it was). The random errors were observable for around 2h. I got the same error message as Jason. Now everything is working fine again. Thanks for coming back to us... Raphael > > On Wed, Dec 2, 2009 at 12:22 PM, Raphael André Bauer > wrote: >> >> On Wed, Dec 2, 2009 at 8:39 PM, Jason.LTech >> wrote: >> > We are receiving random App Engine errors the last few days on an app >> > that has been performing fine for months >> +1 >> ra >> > >> > >> > >> > >> > failed web >> > com.google.apphosting.runtime.HardDeadlineExceededError: This request >> > (162d54b3b9e9) started at 2009/12/02 19:21:46.098 UTC and was >> > still executing at 2009/12/02 19:22:15.544 UTC. >> > at java.security.PrivilegedActionException.(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.apphosting.runtime.security.UserClassLoader >> > $PrivilegedClassLoader.loadPrivilegedClass(UserClassLoader.java:123) >> > at >> > com.google.apphosting.runtime.security.UserClassLoader.loadClassImpl >> > (UserClassLoader.java:485) >> > at >> > com.google.apphosting.runtime.security.UserClassLoader.loadClass >> > (UserClassLoader.java:446) >> > at java.lang.ClassLoader.loadClass(Unknown Source) >> > at >> > >> > org.springframework.core.type.classreading.AnnotationMetadataReadingVisitor >> > $1.visitEnd(AnnotationMetadataReadingVisitor.java:67) >> > at org.springframework.asm.ClassReader.a(Unknown Source) >> > at org.springframework.asm.ClassReader.accept(Unknown Source) >> > at org.springframework.asm.ClassReader.accept(Unknown Source) >> > at >> > >> > org.springframework.core.type.classreading.SimpleMetadataReader.getAnnotationMetadata >> > (SimpleMetadataReader.java:55) >> > at >> > org.springframework.core.type.filter.AnnotationTypeFilter.matchSelf >> > (AnnotationTypeFilter.java:68) >> > at >> > >> > org.springframework.core.type.filter.AbstractTypeHierarchyTraversingFilter.match >> > (AbstractTypeHierarchyTraversingFilter.java:55) >> > at >> > >> > org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.isCandidateComponent >> > (ClassPathScanningCandidateComponentProvider.java:252) >> > at >> > >> > org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents >> > (ClassPathScanningCandidateComponentProvider.java:192) >> > at >> > >> > org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan >> > (ClassPathBeanDefinitionScanner.java:201) >> > at >> > >> > org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse >> > (ComponentScanBeanDefinitionParser.java:84) >> > at >> > org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse >> > (NamespaceHandlerSupport.java:69) >> > at >> > >> > org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement >> > (BeanDefinitionParserDelegate.java:1297) >> > at >> > >> > org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement >> > (BeanDefinitionParserDelegate.java:1287) >> > at >> > >> > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions >> > (DefaultBeanDefinitionDocumentReader.java:135) >> > at >> > >> > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions >> > (DefaultBeanDefinitionDocumentReader.java:92) >> > at >> > >> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions >> > (XmlBeanDefinitionReader.java:507) >> > at >> > >> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions >> > (XmlBeanDefinitionReader.java:398) >> > at >> > >> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions >> > (XmlBeanDefinitionReader.java:342) >> > at >> > >> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions >> > (XmlBeanDefinitionReader.java:310) >> > at >> > >> > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions >> > (AbstractBeanDefinitionReader.java:143) >> > at >> > >> > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions >> > (AbstractBeanDefinitionReader.java:178) >> > at >> > >> > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions >> > (AbstractBeanDefinitionReader.java:149) >> > at >> > >>
[appengine-java] JAXB doesn't work for me in 1.2.8
I get this error: Constructor threw exception; nested exception is java.lang.RuntimeException: javax.xml.bind.JAXBException - with linked exception: [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory] My Constructor is pretty simple: RssService() { try { jaxbContext = JAXBContext.newInstance(Rss.class); unmarshaller = jaxbContext.createUnmarshaller(); marshaller = jaxbContext.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); } catch (JAXBException e) { throw new RuntimeException(e); } } I only get this problem on the Deployed environment, not on the Development environment. Am I missing something? -- 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.