本文整理汇总了Java中io.openmessaging.OMS类的典型用法代码示例。如果您正苦于以下问题:Java OMS类的具体用法?Java OMS怎么用?Java OMS使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OMS类属于io.openmessaging包,在下文中一共展示了OMS类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: init
import io.openmessaging.OMS; //导入依赖的package包/类
@Before
public void init() throws NoSuchFieldException, IllegalAccessException {
final MessagingAccessPoint messagingAccessPoint = MessagingAccessPointFactory
.getMessagingAccessPoint("openmessaging:rocketmq://IP1:9876,IP2:9876/namespace");
consumer = messagingAccessPoint.createPushConsumer(
OMS.newKeyValue().put(NonStandardKeys.CONSUMER_GROUP, "TestGroup"));
Field field = PushConsumerImpl.class.getDeclaredField("rocketmqPushConsumer");
field.setAccessible(true);
DefaultMQPushConsumer innerConsumer = (DefaultMQPushConsumer) field.get(consumer);
field.set(consumer, rocketmqPushConsumer); //Replace
when(rocketmqPushConsumer.getMessageListener()).thenReturn(innerConsumer.getMessageListener());
messagingAccessPoint.startup();
consumer.startup();
}
示例2: init
import io.openmessaging.OMS; //导入依赖的package包/类
@Before
public void init() throws NoSuchFieldException, IllegalAccessException {
final MessagingAccessPoint messagingAccessPoint = MessagingAccessPointFactory
.getMessagingAccessPoint("openmessaging:rocketmq://IP1:9876,IP2:9876/namespace");
consumer = messagingAccessPoint.createPullConsumer(queueName,
OMS.newKeyValue().put(NonStandardKeys.CONSUMER_GROUP, "TestGroup"));
Field field = PullConsumerImpl.class.getDeclaredField("rocketmqPullConsumer");
field.setAccessible(true);
field.set(consumer, rocketmqPullConsumer); //Replace
field = PullConsumerImpl.class.getDeclaredField("localMessageCache");
field.setAccessible(true);
field.set(consumer, localMessageCache);
messagingAccessPoint.startup();
consumer.startup();
}
示例3: getMessagingAccessPoint
import io.openmessaging.OMS; //导入依赖的package包/类
/**
* Returns a {@code MessagingAccessPoint} instance from the specified OMS driver URL
* with some preset userHeaders.
*
* @param url the driver URL
* @param properties the preset userHeaders
* @return a {@code MessagingAccessPoint} instance
* @throws OMSRuntimeException if the adapter fails to create a {@code MessagingAccessPoint} instance from the URL
*/
public static MessagingAccessPoint getMessagingAccessPoint(String url, KeyValue properties) {
AccessPointURI accessPointURI = new AccessPointURI(url);
String driverImpl = parseDriverImpl(accessPointURI.getDriverType(), properties);
properties.put(OMSBuiltinKeys.NAMESPACE, accessPointURI.getNamespace());
properties.put(OMSBuiltinKeys.ACCESS_POINTS, accessPointURI.getHosts());
properties.put(OMSBuiltinKeys.DRIVER_IMPL, driverImpl);
properties.put(OMSBuiltinKeys.REGION, accessPointURI.getRegion());
properties.put(OMSBuiltinKeys.ACCOUNT_ID, accessPointURI.getAccountId());
try {
Class<?> driverImplClass = Class.forName(driverImpl);
Constructor constructor = driverImplClass.getConstructor(KeyValue.class);
MessagingAccessPoint vendorImpl = (MessagingAccessPoint) constructor.newInstance(properties);
checkSpecVersion(OMS.specVersion, vendorImpl.implVersion());
return vendorImpl;
} catch (Throwable e) {
throw generateInternalException(InternalErrorCode.OMS_DRIVER_URL_UNAVAILABLE, url);
}
}
示例4: init
import io.openmessaging.OMS; //导入依赖的package包/类
@Before
public void init() throws NoSuchFieldException, IllegalAccessException {
final MessagingAccessPoint messagingAccessPoint = MessagingAccessPointFactory
.getMessagingAccessPoint("openmessaging:rocketmq://IP1:9876,IP2:9876/namespace");
consumer = messagingAccessPoint.createPullConsumer(queueName,
OMS.newKeyValue().put(NonStandardKeys.CONSUMER_GROUP, "TestGroup"));
Field field = PullConsumerImpl.class.getDeclaredField("rocketmqPullConsumer");
field.setAccessible(true);
field.set(consumer, rocketmqPullConsumer); //Replace
ClientConfig clientConfig = new ClientConfig();
clientConfig.setOmsOperationTimeout(200);
localMessageCache = spy(new LocalMessageCache(rocketmqPullConsumer, clientConfig));
field = PullConsumerImpl.class.getDeclaredField("localMessageCache");
field.setAccessible(true);
field.set(consumer, localMessageCache);
messagingAccessPoint.startup();
consumer.startup();
}
示例5: main
import io.openmessaging.OMS; //导入依赖的package包/类
public static void main(String[] args) {
final MessagingAccessPoint messagingAccessPoint = MessagingAccessPointFactory
.getMessagingAccessPoint("openmessaging:rocketmq://IP1:9876,IP2:9876/namespace");
final PullConsumer consumer = messagingAccessPoint.createPullConsumer("OMS_HELLO_TOPIC",
OMS.newKeyValue().put(NonStandardKeys.CONSUMER_GROUP, "OMS_CONSUMER"));
messagingAccessPoint.startup();
System.out.printf("MessagingAccessPoint startup OK%n");
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
consumer.shutdown();
messagingAccessPoint.shutdown();
}
}));
consumer.startup();
System.out.printf("Consumer startup OK%n");
while (true) {
Message message = consumer.poll();
if (message != null) {
String msgId = message.headers().getString(MessageHeader.MESSAGE_ID);
System.out.printf("Received one message: %s%n", msgId);
consumer.ack(msgId);
}
}
}
示例6: main
import io.openmessaging.OMS; //导入依赖的package包/类
public static void main(String[] args) {
final MessagingAccessPoint messagingAccessPoint = MessagingAccessPointFactory
.getMessagingAccessPoint("openmessaging:rocketmq://IP1:9876,IP2:9876/namespace");
final PushConsumer consumer = messagingAccessPoint.
createPushConsumer(OMS.newKeyValue().put(NonStandardKeys.CONSUMER_GROUP, "OMS_CONSUMER"));
messagingAccessPoint.startup();
System.out.printf("MessagingAccessPoint startup OK%n");
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
consumer.shutdown();
messagingAccessPoint.shutdown();
}
}));
consumer.attachQueue("OMS_HELLO_TOPIC", new MessageListener() {
@Override
public void onMessage(final Message message, final ReceivedMessageContext context) {
System.out.printf("Received one message: %s%n", message.headers().getString(MessageHeader.MESSAGE_ID));
context.ack();
}
});
consumer.startup();
System.out.printf("Consumer startup OK%n");
}
示例7: buildKeyValue
import io.openmessaging.OMS; //导入依赖的package包/类
public static KeyValue buildKeyValue(KeyValue... keyValues) {
KeyValue keyValue = OMS.newKeyValue();
for (KeyValue properties : keyValues) {
for (String key : properties.keySet()) {
keyValue.put(key, properties.getString(key));
}
}
return keyValue;
}
示例8: testPoll_WithTimeout
import io.openmessaging.OMS; //导入依赖的package包/类
@Test
public void testPoll_WithTimeout() {
//There is a default timeout value, @see ClientConfig#omsOperationTimeout.
Message message = consumer.poll();
assertThat(message).isNull();
message = consumer.poll(OMS.newKeyValue().put(PropertyKeys.OPERATION_TIMEOUT, 100));
assertThat(message).isNull();
}
示例9: main
import io.openmessaging.OMS; //导入依赖的package包/类
public static void main(String[] args) {
final MessagingAccessPoint messagingAccessPoint = MessagingAccessPointFactory
.getMessagingAccessPoint("oms:rocketmq://localhost:10911/us-east:namespace");
messagingAccessPoint.startup();
System.out.println("MessagingAccessPoint startup OK");
ResourceManager resourceManager = messagingAccessPoint.getResourceManager();
resourceManager.createQueue("NS1", "HELLO_QUEUE", OMS.newKeyValue());
//PullConsumer only can pull messages from one queue.
final PullConsumer pullConsumer = messagingAccessPoint.createPullConsumer("HELLO_QUEUE");
pullConsumer.startup();
//Poll one message from queue.
Message message = pullConsumer.poll();
//Acknowledges the consumed message
pullConsumer.ack(message.sysHeaders().getString(Message.BuiltinKeys.MessageId));
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
pullConsumer.shutdown();
messagingAccessPoint.shutdown();
}
}));
}
示例10: BytesMessageImpl
import io.openmessaging.OMS; //导入依赖的package包/类
public BytesMessageImpl() {
this.headers = OMS.newKeyValue();
this.properties = OMS.newKeyValue();
}
示例11: main
import io.openmessaging.OMS; //导入依赖的package包/类
public static void main(String[] args) throws OMSResourceNotExistException {
final MessagingAccessPoint messagingAccessPoint = MessagingAccessPointFactory
.getMessagingAccessPoint("oms:rocketmq://localhost:10911/us-east:namespace");
messagingAccessPoint.startup();
System.out.println("MessagingAccessPoint startup OK");
ResourceManager resourceManager = messagingAccessPoint.getResourceManager();
final PushConsumer consumer = messagingAccessPoint.createPushConsumer();
// Consume messages from a simple queue.
{
String simpleQueue = "HELLO_QUEUE";
resourceManager.createQueue("NS1", simpleQueue, OMS.newKeyValue());
//This queue doesn't has a source topic, so only the message delivered to the queue directly can
//be consumed by this consumer.
consumer.attachQueue(simpleQueue, new MessageListener() {
@Override
public void onReceived(Message message, Context context) {
System.out.println("Received one message: " + message);
context.ack();
}
});
consumer.startup();
System.out.println("Consumer startup OK");
}
//Consume messages from a complex queue.
final PushConsumer anotherConsumer = messagingAccessPoint.createPushConsumer();
{
String complexQueue = "QUEUE_HAS_SOURCE_TOPIC";
String sourceTopic = "SOURCE_TOPIC";
//Create the complex queue.
resourceManager.createQueue("NS_01", complexQueue, OMS.newKeyValue());
//Create the source topic.
resourceManager.createTopic("NS_01", sourceTopic, OMS.newKeyValue());
}
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
consumer.shutdown();
anotherConsumer.shutdown();
messagingAccessPoint.shutdown();
}
}));
}