語言: - Java的1.7
環境: - Eclipse IDE的開普勒異常線程 「main」 顯示java.lang.NullPointerException:沒有API環境下注冊該線程getCurrentAppId
要求: - 它是關於從java應用程序中獲取數據的。我在GAE中創建了一個工作正常的Web應用程序。現在我想我的應用程序代碼應該從main運行並檢索Data Store中存儲的日期。需要從核心Java應用程序中獲取數據。
import java.util.List;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.PreparedQuery;
import com.google.appengine.api.datastore.Query;
import com.google.appengine.api.datastore.Query.FilterOperator;
import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.FetchOptions;
public static void main(String[] args)
{
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Query query = new Query("SMS").addSort("Date", Query.SortDirection.DESCENDING);
List<Entity> customers = datastore.prepare(query).asList(FetchOptions.Builder.withLimit(50));
for(Entity e : customers){
System.out.println("Service: - " + e.getProperty("Service"));
System.out.println("UserName: - " + e.getProperty("UserName"));
System.out.println("QueryString: - " + e.getProperty("QueryString"));
System.out.println("EmailId: - " + e.getProperty("EmailId"));
System.out.println("MobileHashFormat: - " + e.getProperty("MobileHashFormat"));
System.out.println("Date: - " + e.getProperty("Date"));
System.out.println("Status: - " + e.getProperty("Status"));
}
}
異常: -
線程 「main」 顯示java.lang.NullPointerException異常:無API環境下注冊了這個線程。 在com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId(DatastoreApiHelper.java:86) 在com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppIdNamespace(DatastoreApiHelper.java:102) 在com.google。 appengine.api.datastore.Query。(Query.java:215) at com.google.appengine.api.datastore.Query。(Query.java:144) at serive.TestGAEFile.main(TestGAEFile.java:17)
它不適合我,因爲我需要從GAE中獲取實體商店數據。並從Java應用程序而不是Java Web應用程序。請協助 –
我不確定您的具體要求是什麼......但如果您打算從任何應用程序訪問GAE App中的數據,我建議您編寫一個Web服務,以便您訪問各種信息可能想從GAE應用程序中退出。 – Romin