Hi,
Maybe I've misunderstood docs, but I thought it was possible an
external application to integrate with App Engine by creating a file
in Blobstore. Am I doing something wrong?? Any way to accomplish
this??
http://code.google.com/appengine/docs/java/blobstore/overview.html#Writing_Files_to_the_Blobstore
Thanks.
Code:
public class RemoteAPI {
public static void main(String[] args) throws IOException {
String username = "
xx...@gmail.com";
String password = "xxxxx";
RemoteApiOptions options = new RemoteApiOptions()
.server("
primepartes.appspot.com", 443)
.credentials(username, password);
RemoteApiInstaller installer = new RemoteApiInstaller();
installer.install(options);
FileService fileService = FileServiceFactory.getFileService();
BlobstoreService blobstoreService =
BlobstoreServiceFactory.getBlobstoreService();
AppEngineFile file = fileService.createNewBlobFile("text/
plain");
FileWriteChannel writeChannel =
fileService.openWriteChannel(file, true);
PrintWriter out = new
PrintWriter(Channels.newWriter(writeChannel, "UTF8"));
out.println("The woods are lovely dark and deep.");
out.println("But I have promises to keep.");
out.close();
writeChannel.closeFinally(); // This line throwns the excepion
bellow
..............
java.lang.IllegalStateException: The current request does not hold the
exclusive lock.
at
com.google.appengine.api.files.FileServiceImpl.close(FileServiceImpl.java:
315)
at
com.google.appengine.api.files.FileWriteChannelImpl.closeFinally(FileWriteChannelImpl.java:
78)
at br.com.teste.RemoteAPI.main(RemoteAPI.java:82)