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)

Reply via email to