i got a problem when i use sdk1.3.1 with compass2.3.0:
Nested in org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'compass' defined in ServletContext resource
[/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested
exception is java.lang.IllegalArgumentException:
java.lang.IllegalArgumentException
at
com.google.appengine.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java:74)
at
com.google.appengine.api.datastore.dev.LocalDatastoreService.getOrCreateProfile(LocalDatastoreService.java:1088)
at
com.google.appengine.api.datastore.dev.LocalDatastoreService.beginTransaction(LocalDatastoreService.java:883)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
com.google.appengine.tools.development.ApiProxyLocalImpl.makeSyncCall(ApiProxyLocalImpl.java:124)
at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:98)
at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:48)
at
com.google.appengine.api.datastore.DatastoreApiHelper.makeSyncCall(DatastoreApiHelper.java:52)
at
com.google.appengine.api.datastore.DatastoreServiceImpl.beginTransaction(DatastoreServiceImpl.java:516)
at
org.compass.needle.gae.GoogleAppEngineDirectory.doInTransaction(GoogleAppEngineDirectory.java:434)
at
org.compass.needle.gae.GoogleAppEngineLockFactory$GoogleAppEngineLock.doRelease(GoogleAppEngineLockFactory.java:132)
at
org.compass.needle.gae.GoogleAppEngineLockFactory$GoogleAppEngineLock.access$000(GoogleAppEngineLockFactory.java:53)
at
org.compass.needle.gae.GoogleAppEngineLockFactory.clearLock(GoogleAppEngineLockFactory.java:50)
at org.apache.lucene.store.Directory.clearLock(Directory.java:122)
at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1066)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:686)
at
org.compass.core.lucene.engine.store.DefaultLuceneSearchEngineStore.createIndex(DefaultLuceneSearchEngineStore.java:507)
at
org.compass.core.lucene.engine.store.DefaultLuceneSearchEngineStore.verifyIndex(DefaultLuceneSearchEngineStore.java:546)
at
org.compass.core.lucene.engine.store.DefaultLuceneSearchEngineStore.verifyIndex(DefaultLuceneSearchEngineStore.java:541)
at
org.compass.core.lucene.engine.store.DefaultLuceneSearchEngineStore.verifyIndex(DefaultLuceneSearchEngineStore.java:533)
at
org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager$4.doInTransaction(DefaultLuceneSearchEngineIndexManager.java:169)
at
org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager$4.doInTransaction(DefaultLuceneSearchEngineIndexManager.java:167)
at
org.compass.core.impl.DefaultCompass$CompassTransactionContext.execute(DefaultCompass.java:428)
at
org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager.verifyIndex(DefaultLuceneSearchEngineIndexManager.java:166)
at org.compass.core.impl.DefaultCompass.<init>(DefaultCompass.java:164)
at org.compass.core.impl.DefaultCompass.<init>(DefaultCompass.java:123)
at org.compass.core.impl.DefaultCompass.<init>(DefaultCompass.java:116)
at
org.compass.core.config.CompassConfiguration.buildCompass(CompassConfiguration.java:288)
at org.compass.spring.LocalCompassBean.newCompass(LocalCompassBean.java:414)
at
org.compass.spring.LocalCompassBean.afterPropertiesSet(LocalCompassBean.java:404)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1288)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1257)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:438)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
at java.security.AccessController.doPrivileged(Native Method)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:394)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:736)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369)
at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:261)
at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
at
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
at org.mortbay.jetty.Server.doStart(Server.java:217)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
at
com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:188)
at
com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:147)
at
com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:219)
at
com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:162)
at
com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
at
com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113)
at
com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)

On Thu, Feb 11, 2010 at 10:29 AM, John Patterson <jdpatter...@gmail.com>wrote:

> Very cool!  Can't wait to replace my paging code with Cursors
>
> Was Async Url Fetch for Java included in this release?
>
> On 11 Feb 2010, at 06:15, Ikai L (Google) wrote:
>
> Check it out!
>
>
> http://googleappengine.blogspot.com/2010/02/app-engine-sdk-131-including-major.html
>
>
> <http://googleappengine.blogspot.com/2010/02/app-engine-sdk-131-including-major.html>Here's
> the post:
>
> App Engine SDK 1.3.1, Including Major Improvements to 
> Datastore!<http://googleappengine.blogspot.com/2010/02/app-engine-sdk-131-including-major.html>
> We are excited to announce the release of version 1.3.1 of the App Engine
> SDK for both Python and Java. While this release contains plenty of new
> features and fixes, we've concentrated on using our very first SDK release
> of 2010 to improve the heart of many App Engine applications: the Datastore.
>
> Here are the three major improvements that 1.3.1 has in store for datastore
> users:
>
>    - *Datastore Query Cursors* - Cursors allow applications to save and
>    'bookmark' their progress through a query, so that it can be resumed later.
>    This works great in combination with paging URLs, as well as processing in
>    the Task Queue API, but there are many other uses. Watch for an upcoming
>    blog post that explores Cursors in the near future. They're also really
>    handy in the context of the next change...
>    - *No more 1000 result limit* - That's right: with addition of Cursors
>    and the culmination of many smaller Datastore stability and performance
>    improvements over the last few months, we're now confident enough to remove
>    the maximum result limit altogether. Whether you're doing a fetch,
>    iterating, or using a Cursor, there's no limits on the number of results.
>    - *Reduced error rate with Automatic Datastore Retries* - We've heard a
>    lot of feedback that you don't want to deal with the Datastore's sporadic
>    errors. In response, App Engine now automatically retries all datastore
>    calls (with the exception of transaction commits) when your applications
>    encounters a datastore error caused by being unable to reach Bigtable.
>    Datastore retries automatically builds in what many of you have been doing
>    in your code already, and our tests have shown it drastically reduces the
>    number of errors your application experiences (by up to *3-4x error
>    reduction for puts, 10-30x for gets*).
>
> But even with our focus on the Datastore, we were able to sneak in a quite
> a number of other new goodies into 1.3.1 as well:
>
> For Python, we've included the *AppStats* RPC instrumentation library.
> AppStats lets users easily profile the performance of calls from their app
> to the App Engine backend services to identify and isolate issues such as
> ineffective caching, bottlenecks, and redundant RPC calls in their app. (A
> Java version is in beta testing now.)
>
> And for Java, we've included a comprehensive new *unit-testing framework* for
> your App Engine apps. The unit-testing framework enables you to test your
> application code in a natural, fully supported manner, and also allows you
> to integrate your App Engine apps into other existing testing and automation
> frameworks.
>
> The list of changes in 1.3.1 goes on and on (Custom Admin Console pages!
> Support for wildcard domain mappings! Java precompilation on by default for
> all applications!), so make sure to 
> download<http://code.google.com/appengine/downloads.html> the
> new version and read our release notes for the complete list 
> (Python<http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes>
> , Java<http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes>
> ).
>
> Posted by the App Engine Team
>
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> http://googleappengine.blogspot.com | http://twitter.com/app_engine
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine for Java" group.
> To post to this group, send email to
> google-appengine-j...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine-java+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine for Java" group.
> To post to this group, send email to
> google-appengine-j...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>



-- 
dream or truth

-- 
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.

Reply via email to