io.openmessaging.producer.Producer Java Examples

The following examples show how to use io.openmessaging.producer.Producer. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SimpleMetadata.java    From joyqueue with Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) {
    KeyValue keyValue = OMS.newKeyValue();
    keyValue.put(OMSBuiltinKeys.ACCOUNT_KEY, "test_token");

    MessagingAccessPoint messagingAccessPoint = OMS.getMessagingAccessPoint("oms:joyqueue://[email protected]:50088/UNKNOWN", keyValue);

    Producer producer = messagingAccessPoint.createProducer();
    producer.start();

    QueueMetaData queueMetaData = producer.getQueueMetaData("test_topic_0");
    for (QueueMetaData.Partition partition : queueMetaData.partitions()) {
        System.out.println(String.format("partition: %s, partitionHost: %s", partition.partitionId(), partition.partitonHost()));
    }

    Message message = producer.createMessage("test_topic_0", "body".getBytes());

    SendResult sendResult = producer.send(message);
    System.out.println(String.format("messageId: %s", sendResult.messageId()));
}
 
Example #2
Source File: AsyncProducer.java    From joyqueue with Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) throws Exception {
        KeyValue keyValue = OMS.newKeyValue();
        keyValue.put(OMSBuiltinKeys.ACCOUNT_KEY, "test_token");
        keyValue.put(JoyQueueBuiltinKeys.TRANSACTION_TIMEOUT, 1000 * 10);

        MessagingAccessPoint messagingAccessPoint = OMS.getMessagingAccessPoint("oms:joyqueue://[email protected]:50088/UNKNOWN", keyValue);

        Producer producer = messagingAccessPoint.createProducer();
        producer.start();

        Message message = producer.createMessage("test_topic_0", "body".getBytes());
        Future<SendResult> future = producer.sendAsync(message);

//        future.addListener(new FutureListener<SendResult>() {
////            @Override
////            public void operationComplete(Future<SendResult> future) {
////                System.out.println(future.get().messageId());
////            }
////        });

        System.out.println(future.get().messageId());
    }
 
Example #3
Source File: BatchProducer.java    From joyqueue with Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) {
    KeyValue keyValue = OMS.newKeyValue();
    keyValue.put(OMSBuiltinKeys.ACCOUNT_KEY, "test_token");

    MessagingAccessPoint messagingAccessPoint = OMS.getMessagingAccessPoint("oms:joyqueue://[email protected]:50088/UNKNOWN", keyValue);

    Producer producer = messagingAccessPoint.createProducer();
    producer.start();

    List<Message> messages = new ArrayList<>();

    for (int i = 0; i < 10; i++) {
        Message message = producer.createMessage("test_topic_0", "body".getBytes());
        messages.add(message);
    }

    producer.send(messages);
}
 
Example #4
Source File: AsyncBatchProducer.java    From joyqueue with Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) {
        KeyValue keyValue = OMS.newKeyValue();
        keyValue.put(OMSBuiltinKeys.ACCOUNT_KEY, "test_token");

        MessagingAccessPoint messagingAccessPoint = OMS.getMessagingAccessPoint("oms:joyqueue://[email protected]:50088/UNKNOWN", keyValue);

        Producer producer = messagingAccessPoint.createProducer();
        producer.start();

        List<Message> messages = new ArrayList<>();

        for (int i = 0; i < 10; i++) {
            Message message = producer.createMessage("test_topic_0", "body".getBytes());
            messages.add(message);
        }

        Future<SendResult> future = producer.sendAsync(messages);

//        future.addListener(new FutureListener<SendResult>() {
//            @Override
//            public void operationComplete(Future<SendResult> future) {
//                System.out.println(future.get().messageId());
//            }
//        });
        System.out.println(future.get().messageId());
    }
 
Example #5
Source File: ConsoleProducer.java    From joyqueue with Apache License 2.0 6 votes vote down vote up
public static void main(String[] args) {
    ConsoleProducerConfig config = new ConsoleProducerConfig();
    JCommander jcommander = JCommander.newBuilder()
            .addObject(config)
            .build();
    jcommander.parse(args);

    if (config.isHelp()) {
        jcommander.usage();
        return;
    }

    Producer producer = buildProducer(config);
    producer.start();

    send(producer, config);
    System.exit(0);
}
 
Example #6
Source File: ConsoleProducer.java    From joyqueue with Apache License 2.0 5 votes vote down vote up
protected static Producer buildProducer(ConsoleProducerConfig config) {
    KeyValue keyValue = OMS.newKeyValue();
    keyValue.put(OMSBuiltinKeys.ACCOUNT_KEY, config.getToken());
    keyValue.put(JoyQueueNameServerBuiltinKeys.NAMESPACE, StringUtils.defaultIfBlank(config.getNamespace(), ToolConsts.DEFAULT_NAMESPACE));

    for (Map.Entry<String, String> entry : config.getParams().entrySet()) {
        keyValue.put(entry.getKey(), entry.getValue());
    }

    MessagingAccessPoint messagingAccessPoint = OMS.getMessagingAccessPoint(
            String.format("oms:%s://%s@%s/%s",
                    ToolConsts.DRIVER, config.getApp(), config.getBootstrap(), StringUtils.defaultIfBlank(config.getRegion(), ToolConsts.DEFAULT_REGION)), keyValue);
    return messagingAccessPoint.createProducer();
}
 
Example #7
Source File: OMSAutoConfiguration.java    From joyqueue with Apache License 2.0 5 votes vote down vote up
@Bean
@ConditionalOnBean(AccessPointContainer.class)
@ConditionalOnMissingBean(Producer.class)
@ConditionalOnProperty(prefix = OMSSpringBootConsts.PREFIX + ".producer", name = "enable", matchIfMissing = true, havingValue = "true")
public ProducerContainer createProducer(AccessPointContainer accessPointContainer) {
    return new ProducerContainer(accessPointContainer);
}
 
Example #8
Source File: SimpleProducer.java    From joyqueue with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) {

        final String app = "test_app";
        final String token = "some token";
        final String dataCenter = "default";
        final String brokerAddr = "127.0.0.1:50088";
        final String topic = "test_topic_0";
        // oms:joyqueue://[email protected]:50088/default
        final String url = "oms:joyqueue://" + app +  "@" + brokerAddr + "/" + dataCenter;

        KeyValue keyValue = OMS.newKeyValue();
        keyValue.put(OMSBuiltinKeys.ACCOUNT_KEY, token);

        MessagingAccessPoint messagingAccessPoint = OMS.getMessagingAccessPoint(url, keyValue);

        // 使用MessagingAccessPoint创建producer
        Producer producer = messagingAccessPoint.createProducer();
        producer.start();

        // 使用producer.createMessage方法创建message
        Message message = producer.createMessage(topic, "Message body".getBytes());

        // 设置messageKey,非必填
        // 如果需要相对顺序消息,也可以使用messageKey作为key指定分区
//        message.extensionHeader().get().setMessageKey("test_key");

        // 自定义发送的partition
        // 最好根据元数据自定义分配,不要写死partitions
//        List<QueueMetaData.Partition> partitions = producer.getQueueMetaData("test_topic_0").partitions();
//        QueueMetaData.Partition partition = partitions.get((int) SystemClock.now() % partitions.size());
//        message.extensionHeader().get().setPartition(partition.partitionId());

        // 生产消息,不抛异常就算成功,sendResult里的messageId暂时没有意义
        SendResult sendResult = producer.send(message);

        // 打印生产结果
        System.out.println(String.format("messageId: %s", sendResult.messageId()));
    }
 
Example #9
Source File: SpringMain.java    From joyqueue with Apache License 2.0 5 votes vote down vote up
public static void main(String[] args) {
    ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-sample.xml");
    Producer producer = (Producer) applicationContext.getBean("producer1");

    for (int i = 0; i < 10; i++) {
        Message message = producer.createMessage("test_topic_0", "test".getBytes());
        SendResult sendResult = producer.send(message);
        logger.info("Message ID: {}", sendResult.messageId());
    }
}
 
Example #10
Source File: MessagingAccessPointImpl.java    From joyqueue with Apache License 2.0 5 votes vote down vote up
@Override
public synchronized Producer createProducer(TransactionStateCheckListener transactionStateCheckListener) {
    MessageAccessPointHolder messageAccessPointHolder = getOrCreateMessageAccessPointHolder();
    MessageAccessPoint messageAccessPoint = messageAccessPointHolder.getMessageAccessPoint();
    MessageProducer messageProducer = messageAccessPoint.createProducer(producerConfig);
    ProducerImpl producer = new ProducerImpl(messageProducer, extensionMessageFactory);
    TransactionProducerImpl transactionProducer = new TransactionProducerImpl(producer, transactionStateCheckListener, messageProducer, messageAccessPoint, txFeedbackConfig);
    return new ProducerWrapper(transactionProducer, messageAccessPointHolder);
}
 
Example #11
Source File: MessagingAccessPointImpl.java    From joyqueue with Apache License 2.0 5 votes vote down vote up
@Override
public synchronized Producer createProducer() {
    MessageAccessPointHolder messageAccessPointHolder = getOrCreateMessageAccessPointHolder();
    MessageAccessPoint messageAccessPoint = messageAccessPointHolder.getMessageAccessPoint();
    MessageProducer messageProducer = messageAccessPoint.createProducer(producerConfig);
    ProducerImpl producer = new ProducerImpl(messageProducer, extensionMessageFactory);
    return new ProducerWrapper(producer, messageAccessPointHolder);
}
 
Example #12
Source File: ConsoleProducer.java    From joyqueue with Apache License 2.0 5 votes vote down vote up
protected static void send(Producer producer, ConsoleProducerConfig config) {
    Message message = producer.createMessage(config.getTopic(), StringUtils.defaultString(config.getBody(), ToolConsts.DEFAULT_BODY).getBytes());

    if (StringUtils.isNotBlank(config.getKey())) {
        message.extensionHeader().get().setMessageKey(config.getKey());
    }

    producer.send(message);

    producer.stop();
}
 
Example #13
Source File: WorkerSourceTask.java    From openmessaging-connect-runtime with Apache License 2.0 5 votes vote down vote up
public WorkerSourceTask(String connectorName,
                        SourceTask sourceTask,
                        ConnectKeyValue taskConfig,
                        PositionStorageReader positionStorageReader,
                        Converter recordConverter,
                        Producer producer){
    this.connectorName = connectorName;
    this.sourceTask = sourceTask;
    this.taskConfig = taskConfig;
    this.positionStorageReader = positionStorageReader;
    this.isStopping = new AtomicBoolean(false);
    this.producer = producer;
    this.recordConverter = recordConverter;
}
 
Example #14
Source File: MessagingAccessPointImpl.java    From rocketmq with Apache License 2.0 4 votes vote down vote up
@Override
public Producer createProducer(KeyValue properties) {
    return new ProducerImpl(OMSUtil.buildKeyValue(this.accessPointProperties, properties));
}
 
Example #15
Source File: ProducerContainer.java    From joyqueue with Apache License 2.0 4 votes vote down vote up
@Override
public Class<?> getObjectType() {
    return Producer.class;
}
 
Example #16
Source File: MessagingAccessPointAdapterTest.java    From openmessaging-java with Apache License 2.0 4 votes vote down vote up
@Override
public Producer createProducer(TransactionStateCheckListener transactionStateCheckListener) {
    return null;
}
 
Example #17
Source File: MessagingAccessPointAdapterTest.java    From openmessaging-java with Apache License 2.0 4 votes vote down vote up
@Override
public Producer createProducer() {
    return null;
}
 
Example #18
Source File: SimplePullConsumer.java    From rocketmq with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    final MessagingAccessPoint messagingAccessPoint =
        OMS.getMessagingAccessPoint("oms:rocketmq://localhost:9876/default:default");

    messagingAccessPoint.startup();

    final Producer producer = messagingAccessPoint.createProducer();

    final PullConsumer consumer = messagingAccessPoint.createPullConsumer(
        OMS.newKeyValue().put(OMSBuiltinKeys.CONSUMER_ID, "OMS_CONSUMER"));

    messagingAccessPoint.startup();
    System.out.printf("MessagingAccessPoint startup OK%n");

    final String queueName = "TopicTest";

    producer.startup();
    Message msg = producer.createBytesMessage(queueName, "Hello Open Messaging".getBytes());
    SendResult sendResult = producer.send(msg);
    System.out.printf("Send Message OK. MsgId: %s%n", sendResult.messageId());
    producer.shutdown();

    consumer.attachQueue(queueName);

    consumer.startup();
    System.out.printf("Consumer startup OK%n");

    // Keep running until we find the one that has just been sent
    boolean stop = false;
    while (!stop) {
        Message message = consumer.receive();
        if (message != null) {
            String msgId = message.sysHeaders().getString(Message.BuiltinKeys.MESSAGE_ID);
            System.out.printf("Received one message: %s%n", msgId);
            consumer.ack(msgId);

            if (!stop) {
                stop = msgId.equalsIgnoreCase(sendResult.messageId());
            }

        } else {
            System.out.printf("Return without any message%n");
        }
    }

    consumer.shutdown();
    messagingAccessPoint.shutdown();
}
 
Example #19
Source File: SimpleProducer.java    From rocketmq with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    final MessagingAccessPoint messagingAccessPoint =
        OMS.getMessagingAccessPoint("oms:rocketmq://localhost:9876/default:default");

    final Producer producer = messagingAccessPoint.createProducer();

    messagingAccessPoint.startup();
    System.out.printf("MessagingAccessPoint startup OK%n");

    producer.startup();
    System.out.printf("Producer startup OK%n");

    {
        Message message = producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8")));
        SendResult sendResult = producer.send(message);
        //final Void aVoid = result.get(3000L);
        System.out.printf("Send async message OK, msgId: %s%n", sendResult.messageId());
    }

    final CountDownLatch countDownLatch = new CountDownLatch(1);
    {
        final Future<SendResult> result = producer.sendAsync(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8"))));
        result.addListener(new FutureListener<SendResult>() {
            @Override
            public void operationComplete(Future<SendResult> future) {
                if (future.getThrowable() != null) {
                    System.out.printf("Send async message Failed, error: %s%n", future.getThrowable().getMessage());
                } else {
                    System.out.printf("Send async message OK, msgId: %s%n", future.get().messageId());
                }
                countDownLatch.countDown();
            }
        });
    }

    {
        producer.sendOneway(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8"))));
        System.out.printf("Send oneway message OK%n");
    }

    try {
        countDownLatch.await();
        Thread.sleep(500); // Wait some time for one-way delivery.
    } catch (InterruptedException ignore) {
    }

    producer.shutdown();
}
 
Example #20
Source File: MessagingAccessPointImpl.java    From rocketmq with Apache License 2.0 4 votes vote down vote up
@Override
public Producer createProducer() {
    return new ProducerImpl(this.accessPointProperties);
}
 
Example #21
Source File: SimplePullConsumer.java    From rocketmq-4.3.0 with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    final MessagingAccessPoint messagingAccessPoint =
        OMS.getMessagingAccessPoint("oms:rocketmq://localhost:9876/default:default");

    messagingAccessPoint.startup();

    final Producer producer = messagingAccessPoint.createProducer();

    final PullConsumer consumer = messagingAccessPoint.createPullConsumer(
        OMS.newKeyValue().put(OMSBuiltinKeys.CONSUMER_ID, "OMS_CONSUMER"));

    messagingAccessPoint.startup();
    System.out.printf("MessagingAccessPoint startup OK%n");

    final String queueName = "TopicTest";

    producer.startup();
    Message msg = producer.createBytesMessage(queueName, "Hello Open Messaging".getBytes());
    SendResult sendResult = producer.send(msg);
    System.out.printf("Send Message OK. MsgId: %s%n", sendResult.messageId());
    producer.shutdown();

    consumer.attachQueue(queueName);

    consumer.startup();
    System.out.printf("Consumer startup OK%n");

    // Keep running until we find the one that has just been sent
    boolean stop = false;
    while (!stop) {
        Message message = consumer.receive();
        if (message != null) {
            String msgId = message.sysHeaders().getString(Message.BuiltinKeys.MESSAGE_ID);
            System.out.printf("Received one message: %s%n", msgId);
            consumer.ack(msgId);

            if (!stop) {
                stop = msgId.equalsIgnoreCase(sendResult.messageId());
            }

        } else {
            System.out.printf("Return without any message%n");
        }
    }

    consumer.shutdown();
    messagingAccessPoint.shutdown();
}
 
Example #22
Source File: MessagingAccessPointImpl.java    From rocketmq-read with Apache License 2.0 4 votes vote down vote up
@Override
public Producer createProducer(KeyValue properties) {
    return new ProducerImpl(OMSUtil.buildKeyValue(this.accessPointProperties, properties));
}
 
Example #23
Source File: MessagingAccessPointImpl.java    From rocketmq-read with Apache License 2.0 4 votes vote down vote up
@Override
public Producer createProducer() {
    return new ProducerImpl(this.accessPointProperties);
}
 
Example #24
Source File: SimpleProducer.java    From rocketmq-read with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    final MessagingAccessPoint messagingAccessPoint =
        OMS.getMessagingAccessPoint("oms:rocketmq://localhost:9876/default:default");

    final Producer producer = messagingAccessPoint.createProducer();

    messagingAccessPoint.startup();
    System.out.printf("MessagingAccessPoint startup OK%n");

    producer.startup();
    System.out.printf("Producer startup OK%n");

    {
        Message message = producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8")));
        SendResult sendResult = producer.send(message);
        //final Void aVoid = result.get(3000L);
        System.out.printf("Send async message OK, msgId: %s%n", sendResult.messageId());
    }

    final CountDownLatch countDownLatch = new CountDownLatch(1);
    {
        final Future<SendResult> result = producer.sendAsync(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8"))));
        result.addListener(new FutureListener<SendResult>() {
            @Override
            public void operationComplete(Future<SendResult> future) {
                if (future.getThrowable() != null) {
                    System.out.printf("Send async message Failed, error: %s%n", future.getThrowable().getMessage());
                } else {
                    System.out.printf("Send async message OK, msgId: %s%n", future.get().messageId());
                }
                countDownLatch.countDown();
            }
        });
    }

    {
        producer.sendOneway(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8"))));
        System.out.printf("Send oneway message OK%n");
    }

    try {
        countDownLatch.await();
        Thread.sleep(500); // Wait some time for one-way delivery.
    } catch (InterruptedException ignore) {
    }

    producer.shutdown();
}
 
Example #25
Source File: SimplePullConsumer.java    From rocketmq-read with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    final MessagingAccessPoint messagingAccessPoint =
        OMS.getMessagingAccessPoint("oms:rocketmq://localhost:9876/default:default");

    messagingAccessPoint.startup();

    final Producer producer = messagingAccessPoint.createProducer();

    final PullConsumer consumer = messagingAccessPoint.createPullConsumer(
        OMS.newKeyValue().put(OMSBuiltinKeys.CONSUMER_ID, "OMS_CONSUMER"));

    messagingAccessPoint.startup();
    System.out.printf("MessagingAccessPoint startup OK%n");

    final String queueName = "TopicTest";

    producer.startup();
    Message msg = producer.createBytesMessage(queueName, "Hello Open Messaging".getBytes());
    SendResult sendResult = producer.send(msg);
    System.out.printf("Send Message OK. MsgId: %s%n", sendResult.messageId());
    producer.shutdown();

    consumer.attachQueue(queueName);

    consumer.startup();
    System.out.printf("Consumer startup OK%n");

    // Keep running until we find the one that has just been sent
    boolean stop = false;
    while (!stop) {
        Message message = consumer.receive();
        if (message != null) {
            String msgId = message.sysHeaders().getString(Message.BuiltinKeys.MESSAGE_ID);
            System.out.printf("Received one message: %s%n", msgId);
            consumer.ack(msgId);

            if (!stop) {
                stop = msgId.equalsIgnoreCase(sendResult.messageId());
            }

        } else {
            System.out.printf("Return without any message%n");
        }
    }

    consumer.shutdown();
    messagingAccessPoint.shutdown();
}
 
Example #26
Source File: MessagingAccessPointImpl.java    From rocketmq-4.3.0 with Apache License 2.0 4 votes vote down vote up
@Override
public Producer createProducer(KeyValue properties) {
    return new ProducerImpl(OMSUtil.buildKeyValue(this.accessPointProperties, properties));
}
 
Example #27
Source File: MessagingAccessPointImpl.java    From rocketmq-4.3.0 with Apache License 2.0 4 votes vote down vote up
@Override
public Producer createProducer() {
    return new ProducerImpl(this.accessPointProperties);
}
 
Example #28
Source File: SimpleProducer.java    From rocketmq-4.3.0 with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    final MessagingAccessPoint messagingAccessPoint =
        OMS.getMessagingAccessPoint("oms:rocketmq://localhost:9876/default:default");

    final Producer producer = messagingAccessPoint.createProducer();

    messagingAccessPoint.startup();
    System.out.printf("MessagingAccessPoint startup OK%n");

    producer.startup();
    System.out.printf("Producer startup OK%n");

    {
        Message message = producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8")));
        SendResult sendResult = producer.send(message);
        //final Void aVoid = result.get(3000L);
        System.out.printf("Send async message OK, msgId: %s%n", sendResult.messageId());
    }

    final CountDownLatch countDownLatch = new CountDownLatch(1);
    {
        final Future<SendResult> result = producer.sendAsync(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8"))));
        result.addListener(new FutureListener<SendResult>() {
            @Override
            public void operationComplete(Future<SendResult> future) {
                if (future.getThrowable() != null) {
                    System.out.printf("Send async message Failed, error: %s%n", future.getThrowable().getMessage());
                } else {
                    System.out.printf("Send async message OK, msgId: %s%n", future.get().messageId());
                }
                countDownLatch.countDown();
            }
        });
    }

    {
        producer.sendOneway(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8"))));
        System.out.printf("Send oneway message OK%n");
    }

    try {
        countDownLatch.await();
        Thread.sleep(500); // Wait some time for one-way delivery.
    } catch (InterruptedException ignore) {
    }

    producer.shutdown();
}
 
Example #29
Source File: MessagingAccessPoint.java    From openmessaging-java with Apache License 2.0 2 votes vote down vote up
/**
 * Creates a new {@code Producer} for the specified {@code MessagingAccessPoint}.
 *
 * @return the created {@code Producer}
 * @throws OMSRuntimeException if the {@code MessagingAccessPoint} fails to handle this request due to some internal
 * error
 * @throws OMSSecurityException if have no authority to create a producer.
 */
Producer createProducer();
 
Example #30
Source File: MessagingAccessPoint.java    From openmessaging-java with Apache License 2.0 2 votes vote down vote up
/**
 * Creates a new transactional {@code Producer} for the specified {@code MessagingAccessPoint}, the producer is able
 * to respond to requests from the server to check the status of the transaction.
 *
 * @param transactionStateCheckListener transactional check listener {@link TransactionStateCheckListener}
 * @return the created {@code Producer}
 * @throws OMSRuntimeException if the {@code MessagingAccessPoint} fails to handle this request due to some internal
 * error
 * @throws OMSSecurityException if have no authority to create a producer.
 */
Producer createProducer(TransactionStateCheckListener transactionStateCheckListener);