You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by "Andrew Gaul (Jira)" <ji...@apache.org> on 2021/07/20 11:45:00 UTC

[jira] [Resolved] (JCLOUDS-836) Support for the GAE

     [ https://issues.apache.org/jira/browse/JCLOUDS-836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Gaul resolved JCLOUDS-836.
---------------------------------
      Assignee: Andrew Gaul
    Resolution: Won't Fix

I removed GAE support due to lack of developer activity and user interest.  If someone steps forward to fix and maintain this we can re-add it.

> 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
>         Environment: When running jclouds on the Google App Engine (v1.9.18), the BlobStore API cannot work.
>            Reporter: Edouard Mercier
>            Assignee: Andrew Gaul
>            Priority: Major
>              Labels: gae, google-cloud-storage
>
> 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
> {noformat}
> 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)
> {noformat}
> 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
(v8.3.4#803005)