thanks for your answers, we have indeed abandonned streamBlob because of the issues outlined in my original email and go through getBlob
jean Le mar. 16 oct. 2018 à 08:20, Andrew Gaul <g...@apache.org> a écrit : > On Wed, Aug 22, 2018 at 11:33:48AM +0200, Jean Helou wrote: > > Hello, > > > > I am currently working on integrating JClouds to create a blobstore > storage > > for apache james. I noticed that using > > > > blobStore.streamBlob("container", "wrongid"); > > > > yields a NullPointerException when trying to access a blob which doesn't > > exist. The NPE is raised in RegionScopedSwiftBlobStore when the > streamBlob > > method tries to read the blob metadata. > > > > I think it should null check and return null or an empty inputstream but > > not raise an NPE > > > > see https://github.com/jclouds/jclouds > > > /blob/46759f8bda00f86ef934345846e22e2bd2b0d7ae/apis/openstack-swift/src/main/java/org/ > > jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java#L691 > > > > for now I work around by using > > > > blobStore.getBlob("container","id"); > > > > doing the nullcheck myself and then getting the inputstream from the > blob's > > payload. > > Sorry for the late reply but I find the implementation of > BlobStore.streamBlob confusing since it lives in the portable > abstraction yet only has one implementation. I recommend using getBlob > which actually does stream the payload. > > -- > Andrew Gaul > http://gaul.org/ >