Yes, an account is required. I'd open the issue myself but if you don't mind creating an account you'll be able to describe it better and provide better context.
Thanks! El 04/03/2015 07:59, "Édouard sur Smart&Soft" <[email protected]> escribió: > Thank you Ignassi for your detailed answer. > > I'm pretty sure that if jclouds is supported on GAE, you will have many > newcomers. Sure, I will open a JIRA ticket, but can you confirm that this > requires me to create an account, first ? > > Thank you for your support. Regards, > Édouard > > 2015-03-03 23:05 GMT+01:00 Ignasi Barrera <[email protected]>: > >> Hi Édouard, >> >> We have the GAE driver that used to work, but that was more about >> configuring a single-threaded executor and some other http related stuff. >> >> As far as I know, the GAE support has been untested for several releases, >> as I believe the community is not using it, but it is good to have a real >> use case! >> >> I haven't seen reflection restrictions before, but I'm not a GAE user, so >> I don't know the details and its limitations. Looking at the stacktrace, >> it seems that the failure happens when trying to build the deserialization >> context. jclouds uses Gson to deserialize the API responses, and it uses >> reflection to make sure it will be able to build the corresponding Java >> object, by making all the constructors accessible. >> >> This seems to be not allowed in GAE, and we could try to configure the >> GAE module to "disable" that reflection, and use only the visible >> constructor. However, this has been out there since 2013 and I'm not sure >> if working only with the visible constructors would be compatible with the >> current domain model of all providers. >> >> In any case, it is worth giving it a try. Mind opening a JIRA [1] issue >> so we can properly track this? >> >> Thanks! >> >> I. >> >> [1] https://issues.apache.org/jira/browse/jclouds >> >> On 2 March 2015 at 22:16, Édouard Mercier sur Gmail < >> [email protected]> wrote: >> >>> 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.DeserializationConstructorAndR >>> eflectiveTypeAdapterFactory.create(DeserializationConstructorAndR >>> eflectiveTypeAdapterFactory.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. Regards, >>> Édouard >>> >> >> >
