我是jClouds项目的新手。我正在创建一个库,它将访问多个云提供商和文件系统。我想知道,BlobStore和BlobStoreContext有什么区别?考虑我有以下道:

@Inject
private BlobStoreContext blobStoreContext;

@Override
public String storeMedia(String customerId, byte[] media) {
    BlobStore blobStore = blobStoreContext.getBlobStore();

    String id = UUID.randomUUID().toString();
    Blob blob = blobStore.blobBuilder(id)
            .payload(media)
            .contentLength(media.length)
            .build();
    blobStore.putBlob(customerId, blob);

    return id;
}


DAO是单例对象。我应该在每次调用时注入BlobStoreContext并获取一个新的BlobStore,还是可以@Inject BlobStore并将其用作单例实例?

谢谢!

最佳答案

上下文配置了与特定提供程序的连接,因此,如果您需要DAO能够为N个提供程序保留数据,则需要以可以访问每个操作正确的上下文的方式对其进行配置。如果您的DAO仅限于一个提供程序,则可以直接注入上下文或BlobStore。

您可以在此处阅读有关jclouds主要概念的快速介绍:
http://jclouds.apache.org/start/concepts/

10-08 03:37