Verwenden des Java Message Service mit anderen Amazon SQS SQS-Clients - Amazon Simple Queue Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden des Java Message Service mit anderen Amazon SQS SQS-Clients

Wenn Sie den Amazon SQS Java Message Service (JMS) -Client mit dem AWS SDK verwenden, wird die Amazon SQS SQS-Nachrichtengröße auf 256 KB begrenzt. Sie können jedoch mit einem beliebigen Amazon-SQS-Client einen JMS-Anbieter erstellen. Verwenden Sie beispielsweise den JMS-Client mit der Amazon SQS Extended Client Library für Java, um eine Amazon-SQS-Nachricht zu senden, die einen Verweis auf eine Nachrichtennutzlast (bis zu 2 GB) in Amazon S3 enthält. Weitere Informationen finden Sie unter Verwaltung großer Amazon SQS SQS-Nachrichten mit Java und Amazon S3.

Das folgende Java-Codebeispiel erstellt den JMS-Provider für die Extended Client Library.

Sehen Sie sich die Voraussetzungen unter an, Voraussetzungen für die Arbeit mit JMS und Amazon SQS bevor Sie dieses Beispiel testen.

AmazonS3 s3 = new AmazonS3Client(credentials); Region s3Region = Region.getRegion(Regions.US_WEST_2); s3.setRegion(s3Region); // Set the Amazon S3 bucket name, and set a lifecycle rule on the bucket to // permanently delete objects a certain number of days after each object's creation date. // Next, create the bucket, and enable message objects to be stored in the bucket. BucketLifecycleConfiguration.Rule expirationRule = new BucketLifecycleConfiguration.Rule(); expirationRule.withExpirationInDays(14).withStatus("Enabled"); BucketLifecycleConfiguration lifecycleConfig = new BucketLifecycleConfiguration().withRules(expirationRule); s3.createBucket(s3BucketName); s3.setBucketLifecycleConfiguration(s3BucketName, lifecycleConfig); System.out.println("Bucket created and configured."); // Set the SQS extended client configuration with large payload support enabled. ExtendedClientConfiguration extendedClientConfig = new ExtendedClientConfiguration() .withLargePayloadSupportEnabled(s3, s3BucketName); AmazonSQS sqsExtended = new AmazonSQSExtendedClient(new AmazonSQSClient(credentials), extendedClientConfig); Region sqsRegion = Region.getRegion(Regions.US_WEST_2); sqsExtended.setRegion(sqsRegion);

Im folgenden Java-Codebeispiel wird die Verbindungs-Factory erstellt:

// Create the connection factory using the environment variable credential provider. // Pass the configured Amazon SQS Extended Client to the JMS connection factory. SQSConnectionFactory connectionFactory = new SQSConnectionFactory( new ProviderConfiguration(), sqsExtended ); // Create the connection. SQSConnection connection = connectionFactory.createConnection();