Java

2013-06-13 21 views
9

ile eski artımlı kimlikler nasıl belirlenir GAE 1.8.1 kullanıyorum ve new scattered ID system ile Objectify ile ilgili bir soruna girdim. En azından bence Objectify, emin değilim (Objectify 4 RC1'i Kullanma). Ben ..Java

Caused by: java.lang.IllegalArgumentException: id cannot be zero 
    at com.google.appengine.api.datastore.KeyFactory.createKey(KeyFactory.java:52) 
    at com.google.appengine.api.datastore.KeyFactory.createKey(KeyFactory.java:47) 
    at com.googlecode.objectify.Key.<init>(Key.java:91) 
    at com.googlecode.objectify.Key.create(Key.java:39) 
    at com.googlecode.objectify.impl.cmd.LoadTypeImpl.id(LoadTypeImpl.java:77) 

onlar bir kimliği olması olarak kayıtların doğru veri deposuna koymak olsun bu alıyorum, ama şuna verilerini alırken üzerindedir.

Bu nedenle, daha önce olduğu gibi geri dönmem gerekiyor. here'u, appengine-web.xml dosyasında auto_id_policy'u değiştirerek eski ID nesnesini belirtebileceğinizi belirtir.

<auto-id-policy>legacy</auto-id-policy> 

Ama çalışmıyor veya XSD da desteklerin karşı bu etiketi doğrular eğer en azından işe yarayabilecek: Ben dosyaya bu ekleyerek denedim. Bu nedenle uygulamayı dağıtamazsınız.

+0

Merhaba, birkaç ay boyunca el değmemiş bir projede yaptığınız gibi aynı sorunla karşılaştım. App Engine SDK'nızı 1.8.1'den daha yeni bir sürüme güncellemeniz yeterlidir. App Engine SDK'sı için 1.8.1.1 olan projemde XML'in başarılı olduğunu doğrulayabilirim. –

cevap

1

Bu sorunun farkındayız ve bir düzeltme üzerinde çalışıyoruz.

+0

Eksik XSD etiketi için istisna veya düzeltme için bir düzeltme? Bu konuda –

+1

haber var mı? GoogleAppEngine Launcher hata bildiriyor: argüman --auto_id_policy: geçersiz seçim: 'legacy' ('ardışık', 'dağınık' arasından seçim yapın) --auto_id_policy = legacy – skurt

+0

Bu sorunla uğraşan kişiler için gelecekteki referans: 1.8.1'den itibaren App Engine SDK sürümü, bu sorun 1.8.1.1'den itibaren düzeltildi. –

0

Sorun, yüklemek için 0() id geçiriyorsunuz gibi görünüyor. Bunun dağınık kimlikleri veya Objectify ile ilgili bir şey olduğunu sanmıyorum.

+0

Ben de öyle düşünürdüm. Ancak 1.8.1'e ilerledikçe bunu yapıyor. Önceki sürümler iyi çalışıyor. Kodumda bir hata olarak bir 0 olarak geçiyor olsaydım, kesinlikle her sürüm için başarısız olurdu. Kabul eder misin –

+0

Yük(). Id() işlevini çağıran kodunuzu görmeden, bunu söylemek gerçekten zor. – stickfigure