Где мы можно увидеть раздел «Отправка сообщений в определенный канал».
Мне интересно, сможем ли мы сделать это программно в Java (например).
Вот мой QueueProducer:
Код: Выделить всё
package com.oehs.service;
import com.oracle.bmc.ConfigFileReader;
import com.oracle.bmc.auth.ConfigFileAuthenticationDetailsProvider;
import com.oracle.bmc.queue.QueueClient;
import com.oracle.bmc.queue.model.PutMessagesDetails;
import com.oracle.bmc.queue.model.PutMessagesDetailsEntry;
import com.oracle.bmc.queue.requests.PutMessagesRequest;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import java.util.Collections;
@ConditionalOnExpression("${oracle-vault.enabled:false}") public class QueueProducer {
@Value("${oracle-vault.profile:QUEUE}")
private String oracleProfile;
public void produce(String message) throws Exception {
// Authentication using OCI Config file (~/.oci/config)
final ConfigFileReader.ConfigFile configFile = ConfigFileReader.parseDefault(oracleProfile);
ConfigFileAuthenticationDetailsProvider provider =
new ConfigFileAuthenticationDetailsProvider(oracleProfile);
// Create Queue Client
QueueClient queueClient = new QueueClient(provider);
queueClient.setEndpoint("testEndpoint");
// Replace with your Queue OCID
String queueId = "testQueue";
// Create message details
PutMessagesDetailsEntry messageEntry = PutMessagesDetailsEntry.builder()
.content(message) // Message content
.build();
// Put the message into the queue
PutMessagesDetails putMessagesDetails = PutMessagesDetails.builder()
.messages(Collections.singletonList(messageEntry))
.build();
// Create request to put messages
PutMessagesRequest putMessagesRequest = PutMessagesRequest.builder()
.queueId(queueId)
.putMessagesDetails(putMessagesDetails)
.build();
// Send the message
queueClient.putMessages(putMessagesRequest);
queueClient.close();
}
}
Обновить : Я нашел то, что мне нужно, в документации Oracle (https://docs.oracle.com/en-us/iaas/api/ ... utMessages), поэтому вот код:
Код: Выделить всё
PutMessagesDetails putMessagesDetails = PutMessagesDetails.builder()
.messages(new ArrayList(Arrays.asList(PutMessagesDetailsEntry.builder()
.content("EXAMPLE-content-Value")
.metadata(MessageMetadata.builder()
.channelId("ocid1.test.oc1..EXAMPLE-channelId-Value")
.customProperties(new HashMap() {
{
put("EXAMPLE_KEY_nwH3Y","EXAMPLE_VALUE_KBPc0dN7O2rp1eVCL3aO");
}
}).build()).build()))).build();
Код: Выделить всё
3.18.0
Подробнее здесь: https://stackoverflow.com/questions/790 ... ue-service
Мобильная версия