Edouard Mercier created JCLOUDS-836:
---------------------------------------
Summary: Support for the GAE
Key: JCLOUDS-836
URL: https://issues.apache.org/jira/browse/JCLOUDS-836
Project: jclouds
Issue Type: Bug
Components: jclouds-blobstore, jclouds-core, jclouds-drivers
Affects Versions: 1.8.1, 2.0.0
Environment: When running jclouds on the Google App Engine (v1.9.18),
the BlobStore API cannot work.
Reporter: Edouard Mercier
Hello.
I've been digging a long time, both using the v1.8.1 and the v2.0.0-SNAPSHOT,
and found no way to jclouds BlobStore to work on the current GAE Java flavor
v1.9.18.
When attempting to use the "BlobStore.putBlob()" method, I get this
"""
java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is
not allowed on java.lang.String(int,int,char[])
at com.google.appengine.runtime.Request.process-6c82fef5146f94d9(Request.java)
at java.lang.reflect.Constructor.setAccessible(Constructor.java:40)
at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:156)
at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:152)
at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
at org.jclouds.reflect.Reflection2.get(Reflection2.java:345)
at org.jclouds.reflect.Reflection2.constructors(Reflection2.java:99)
at
org.jclouds.json.internal.NamingStrategies$AnnotationConstructorNamingStrategy.getDeserializer(NamingStrategies.java:248)
at
org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory.create(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:122)
at com.google.gson.Gson.getAdapter(Gson.java:358)
at
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter(ReflectiveTypeAdapterFactory.java:109)
at
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.access$100(ReflectiveTypeAdapterFactory.java:46)
at
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.<init>(ReflectiveTypeAdapterFactory.java:84)
at
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:83)
at
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:129)
at
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:75)
at com.google.gson.Gson.getAdapter(Gson.java:358)
at com.google.gson.Gson.toJson(Gson.java:587)
at com.google.gson.Gson.toJson(Gson.java:574)
at com.google.gson.Gson.toJson(Gson.java:529)
at com.google.gson.Gson.toJson(Gson.java:509)
at org.jclouds.json.internal.GsonWrapper.toJson(GsonWrapper.java:52)
at
org.jclouds.googlecloudstorage.binders.MultipartUploadBinder.bindToRequest(MultipartUploadBinder.java:53)
at
org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:324)
at
org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:129)
at
org.jclouds.rest.internal.InvokeHttpMethod.toCommand(InvokeHttpMethod.java:188)
at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:84)
at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
at
org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
at
com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
at com.sun.proxy.$Proxy62.multipartUpload(Unknown Source)
at
org.jclouds.googlecloudstorage.blobstore.GoogleCloudStorageBlobStore.putBlob(GoogleCloudStorageBlobStore.java:224)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:45)
at
com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
at com.sun.proxy.$Proxy60.putBlob(Unknown Source)
"""
exception (this one was caused using jclouds v2.0.0-SNAPSHOT).
I've seen that there has been initiatives to have jclouds working on the GAE in
the past, but would like to know if this is still on the roadmap. Any help
which shows how to have jclouds BlobStore working on GAE is very welcome.
Thank you for your support.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)