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

              gaul Andrew Gaul
              edouard.mercier Edouard Mercier
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: