Uploaded image for project: 'jclouds'
  1. jclouds
  2. JCLOUDS-836

Support for the GAE

    XMLWordPrintableJSON

    Details

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                edouard.mercier Edouard Mercier
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: