Class S3_PING

  • Direct Known Subclasses:
    GOOGLE_PING

    @Deprecated
    public class S3_PING
    extends FILE_PING
    Deprecated.
    Use NATIVE_S3_PING (https://github.com/jgroups-extras/native-s3-ping) instead. S3_PING will be removed in 5.0.
    Discovery protocol using Amazon's S3 storage. The S3 access code reuses the example shipped by Amazon.
    Author:
    Bela Ban
    • Field Detail

      • host

        protected java.lang.String host
        Deprecated.
      • port

        protected int port
        Deprecated.
      • use_ssl

        protected boolean use_ssl
        Deprecated.
      • access_key

        protected java.lang.String access_key
        Deprecated.
      • secret_access_key

        protected java.lang.String secret_access_key
        Deprecated.
      • prefix

        protected java.lang.String prefix
        Deprecated.
      • pre_signed_put_url

        protected java.lang.String pre_signed_put_url
        Deprecated.
      • pre_signed_delete_url

        protected java.lang.String pre_signed_delete_url
        Deprecated.
      • skip_bucket_existence_check

        protected boolean skip_bucket_existence_check
        Deprecated.
      • conn

        protected org.jgroups.protocols.S3_PING.AWSAuthConnection conn
        Deprecated.
    • Constructor Detail

      • S3_PING

        public S3_PING()
        Deprecated.
    • Method Detail

      • init

        public void init()
                  throws java.lang.Exception
        Deprecated.
        Description copied from class: Protocol
        Called after instance has been created (null constructor) and before protocol is started. Properties are already set. Other protocols are not yet connected and events cannot yet be sent.
        Overrides:
        init in class FILE_PING
        Throws:
        java.lang.Exception - Thrown if protocol cannot be initialized successfully. This will cause the ProtocolStack to fail, so the channel constructor will throw an exception
      • createConnection

        protected org.jgroups.protocols.S3_PING.AWSAuthConnection createConnection()
        Deprecated.
      • readAll

        protected void readAll​(java.util.List<Address> members,
                               java.lang.String clustername,
                               Responses responses)
        Deprecated.
        Overrides:
        readAll in class FILE_PING
      • readResponse

        protected void readResponse​(org.jgroups.protocols.S3_PING.GetResponse rsp,
                                    java.util.List<Address> mbrs,
                                    Responses responses)
        Deprecated.
      • write

        protected void write​(java.util.List<PingData> list,
                             java.lang.String clustername)
        Deprecated.
        Overrides:
        write in class FILE_PING
      • remove

        protected void remove​(java.lang.String clustername,
                              Address addr)
        Deprecated.
        Overrides:
        remove in class FILE_PING
      • removeAll

        protected void removeAll​(java.lang.String clustername)
        Deprecated.
        Description copied from class: FILE_PING
        Removes all files for the given cluster name
        Overrides:
        removeAll in class FILE_PING
      • validateProperties

        protected void validateProperties()
        Deprecated.
      • usingPreSignedUrls

        protected boolean usingPreSignedUrls()
        Deprecated.
      • sanitize

        protected static java.lang.String sanitize​(java.lang.String name)
        Deprecated.
        Sanitizes bucket and folder names according to AWS guidelines
      • generatePreSignedUrl

        public static java.lang.String generatePreSignedUrl​(java.lang.String awsAccessKey,
                                                            java.lang.String awsSecretAccessKey,
                                                            java.lang.String method,
                                                            java.lang.String bucket,
                                                            java.lang.String key,
                                                            long expirationDate)
        Deprecated.
        Use this helper method to generate pre-signed S3 urls for use with S3_PING. You'll need to generate urls for both the put and delete http methods. Example: Your AWS Access Key is "abcd". Your AWS Secret Access Key is "efgh". You want this node to write its information to "/S3_PING/DemoCluster/node1". So, your bucket is "S3_PING" and your key is "DemoCluster/node1". You want this to expire one year from now, or (System.currentTimeMillis / 1000) + (60 * 60 * 24 * 365) Let's assume that this equals 1316286684 Here's how to generate the value for the pre_signed_put_url property: String putUrl = S3_PING.generatePreSignedUrl("abcd", "efgh", "put", "S3_Ping", "DemoCluster/node1", 1316286684); Here's how to generate the value for the pre_signed_delete_url property: String deleteUrl = S3_PING.generatePreSignedUrl("abcd", "efgh", "delete", "S3_Ping", "DemoCluster/node1", 1316286684);
        Parameters:
        awsAccessKey - Your AWS Access Key
        awsSecretAccessKey - Your AWS Secret Access Key
        method - The HTTP method - use "put" or "delete" for use with S3_PING
        bucket - The S3 bucket you want to write to
        key - The key within the bucket to write to
        expirationDate - The date this pre-signed url should expire, in seconds since epoch
        Returns:
        The pre-signed url to be used in pre_signed_put_url or pre_signed_delete_url properties