org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory类的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(14.5k)|赞(0)|评价(0)|浏览(192)

本文整理了Java中org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory类的一些代码示例,展示了ActiveMQConnectionFactory类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ActiveMQConnectionFactory类的具体详情如下:
包路径:org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory
类名称:ActiveMQConnectionFactory

ActiveMQConnectionFactory介绍

[英]ActiveMQ Artemis implementation of a JMS ConnectionFactory.

This connection factory will use defaults defined by DefaultConnectionProperties.
[中]JMS连接工厂的ActiveMQ Artemis实现。
此连接工厂将使用DefaultConnectionProperties定义的默认值。

代码示例

代码示例来源:origin: wildfly/wildfly

@Override
public Connection createConnection() throws JMSException {
 return createConnection(user, password);
}

代码示例来源:origin: pentaho/pentaho-kettle

@SuppressWarnings ( "all" ) // suppressing autocloseable error.  inconsistent w/ other connectionfactory impls.
@Override public JMSContext getContext( JmsDelegate delegate ) {
 String finalUrl = buildUrl( delegate );
 ConnectionFactory factory = new ActiveMQConnectionFactory( finalUrl );
 return factory.createContext( delegate.amqUsername, delegate.amqPassword );
}

代码示例来源:origin: wildfly/wildfly

@Override
public JMSContext createContext(final int sessionMode) {
 return createContext(user, password, sessionMode);
}

代码示例来源:origin: wildfly/wildfly

/**
* For compatibility and users used to this kind of constructor
*/
public ActiveMQConnectionFactory(String url, String user, String password) {
 this(url);
 setUser(user).setPassword(password);
}

代码示例来源:origin: wildfly/wildfly

private void setBrokerURL(String brokerURL) {
 ConnectionFactoryParser cfParser = new ConnectionFactoryParser();
 try {
   URI uri = cfParser.expandURI(brokerURL);
   serverLocator = ServerLocatorImpl.newLocator(uri);
   cfParser.populateObject(uri, this);
 } catch (Exception e) {
   throw new RuntimeException(e.getMessage(), e);
 }
 if (getUser() == null) {
   setUser(DefaultConnectionProperties.DEFAULT_USER);
 }
 if (getPassword() == null) {
   setPassword(DefaultConnectionProperties.DEFAULT_PASSWORD);
 }
}

代码示例来源:origin: apache/activemq-artemis

@Test
public void testMixedOpenWireExample() throws Exception {
 Connection openConn = null;
 SimpleString durableQueue = new SimpleString("exampleQueue");
 this.server.createQueue(durableQueue, RoutingType.ANYCAST, durableQueue, null, true, false, -1, false, true);
 ActiveMQConnectionFactory openCF = new ActiveMQConnectionFactory();
 Queue queue = new ActiveMQQueue("exampleQueue");
 openConn = openCF.createConnection();
 openConn.start();
 Session openSession = openConn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 MessageProducer producer = openSession.createProducer(queue);
 TextMessage message = openSession.createTextMessage("This is a text message");
 producer.send(message);
 org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory artemisCF = new org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory();
 Connection artemisConn = artemisCF.createConnection();
 Session artemisSession = artemisConn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 artemisConn.start();
 MessageConsumer messageConsumer = artemisSession.createConsumer(artemisSession.createQueue("exampleQueue"));
 TextMessage messageReceived = (TextMessage) messageConsumer.receive(5000);
 assertEquals("This is a text message", messageReceived.getText());
 openConn.close();
 artemisConn.close();
}

代码示例来源:origin: apache/activemq-artemis

@Test
public void testLastValueQueueUsingAddressQueueParameters() throws Exception {
 ActiveMQConnectionFactory fact = (ActiveMQConnectionFactory) getCF();
 //Set the consumer window size to 0 to not buffer any messages client side.
 fact.setConsumerWindowSize(0);
 Connection connection = fact.createConnection();
 try {
   Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
   Queue queue = session.createQueue("random?last-value=true");
   assertEquals("random", queue.getQueueName());
   ActiveMQDestination a = (ActiveMQDestination) queue;
   assertTrue(a.getQueueAttributes().getLastValue());
   MessageProducer producer = session.createProducer(queue);
   MessageConsumer consumer1 = session.createConsumer(queue);
   connection.start();
   for (int j = 0; j < 100; j++) {
    TextMessage message = session.createTextMessage();
    message.setText("Message" + j);
    message.setStringProperty(Message.HDR_LAST_VALUE_NAME.toString(), "key");
    producer.send(message);
   }
   //Last message only should go to the consumer
   TextMessage tm = (TextMessage) consumer1.receive(10000);
   assertNotNull(tm);
   assertEquals("Message99", tm.getText());
 } finally {
   connection.close();
 }
}

代码示例来源:origin: apache/activemq-artemis

ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory("tcp://localhost:5672");
Connection connection = cf.createConnection();
Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
MessageProducer producer = session.createProducer(session.createQueue("purgeQueue"));
javax.jms.Queue jmsQueue = session.createQueue(queue);
MessageConsumer consumer = session.createConsumer(jmsQueue);
  Message message = session.createTextMessage("hello " + i);
  producer.send(message);
session.commit();
connection.start();
  TextMessage txt = (TextMessage)consumer.receive(1000);
  assertNotNull(txt);
  assertEquals("hello " + i, txt.getText());
consumer.close();
session.rollback();
connection.close();
server.stop();
server.start();

代码示例来源:origin: apache/activemq-artemis

ActiveMQServer server = createServer(true, true);
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory();
server.start();
Queue queue = server.createQueue(ADDRESS, RoutingType.ANYCAST, ADDRESS, user, null, true, false);
Connection conn = factory.createConnection();
Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer prod = session.createProducer(session.createQueue(ADDRESS.toString()));
  prod.send(session.createTextMessage("message " + i));
server.updateQueue(ADDRESS.toString(), RoutingType.ANYCAST, 1, false, false, null);
conn.close();
factory.close();
server.stop();
factory = new ActiveMQConnectionFactory();
conn = factory.createConnection();
session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageConsumer consumer = session.createConsumer(session.createQueue(ADDRESS.toString()));

代码示例来源:origin: apache/activemq-artemis

private void testReconnectSameNodeServerRestartedWithNonDurableSubOrTempQueue(final boolean nonDurableSub) throws Exception {
 ActiveMQConnectionFactory jbcf = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, new TransportConfiguration(INVM_CONNECTOR_FACTORY));
 jbcf.setReconnectAttempts(-1);
 Connection conn = jbcf.createConnection();
 conn.setExceptionListener(listener);
 Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
   dest = sess.createTemporaryQueue();
 MessageProducer producer = sess.createProducer(dest);
 MessageConsumer consumer = sess.createConsumer(dest);
 this.server.stop();
 this.server.start();
   producer.send(bm);
 conn.start();
   BytesMessage bm = (BytesMessage) consumer.receive(1000);
 TextMessage tm = (TextMessage) consumer.receiveNoWait();

代码示例来源:origin: apache/activemq-artemis

((ActiveMQJAASSecurityManager) liveService.getSecurityManager()).getConfiguration().addUser("myUser", "myPassword");
((ActiveMQJAASSecurityManager) liveService.getSecurityManager()).getConfiguration().addRole("myUser", "consumeCreateRole");
Role consumeCreateRole = new Role("consumeCreateRole", false, true, true, true, true, true, true, true, true, true);
Set<Role> consumerCreateRoles = new HashSet<>();
consumerCreateRoles.add(consumeCreateRole);
liveService.getSecurityRepository().addMatch("test.queue", consumerCreateRoles);
Assert.assertEquals("ensure user is set", "myUser", connectionFactory.getUser());
Assert.assertEquals("ensure password is set", "myPassword", connectionFactory.getPassword());
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
javax.jms.Queue queue = session.createQueue("test.queue");
   MessageProducer producer = session.createProducer(queue);
   producer.send(session.createTextMessage("test Msg"));
   Assert.fail("Sending message should throw a JMSSecurityException");
  } catch (JMSSecurityException e) {
  MessageConsumer consumer = session.createConsumer(queue);
} finally {
  connection.close();

代码示例来源:origin: apache/activemq-artemis

@Test
public void testSimpleRemoteConnections() throws Exception {
 for (int i = 0; i < 1000; i++) {
   TransportConfiguration config = new TransportConfiguration(NETTY_CONNECTOR_FACTORY);
   ActiveMQConnectionFactory cf = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, config);
   cf.setInitialConnectAttempts(10);
   cf.setRetryInterval(100);
   Connection conn = cf.createConnection();
   Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
   Queue queue = session.createQueue("SomeQueue");
   MessageProducer producer = session.createProducer(queue);
   TextMessage msg = session.createTextMessage();
   msg.setText("Message " + i);
   producer.send(msg);
   producer.close();
   session.close();
   conn.close();
   cf.close();
 }
}

代码示例来源:origin: apache/activemq-artemis

@Test //(timeout = 30000)
// QueueAutoCreationTest was created to validate auto-creation of queues
// and this test was added to validate a regression: https://issues.apache.org/jira/browse/ARTEMIS-2238
public void testAutoCreateOnTopic() throws Exception {
 ConnectionFactory factory = new ActiveMQConnectionFactory();
 Connection connection = factory.createConnection();
 SimpleString addressName = UUIDGenerator.getInstance().generateSimpleStringUUID();
 System.out.println("Address is " + addressName);
 clientSession.createAddress(addressName, RoutingType.ANYCAST, false);
 Topic topic = new ActiveMQTopic(addressName.toString());
 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
 MessageProducer producer = session.createProducer(topic);
 for (int i = 0; i < 10; i++) {
   producer.send(session.createTextMessage("hello"));
 }
 Assert.assertTrue(((ActiveMQConnection)connection).containsKnownDestination(addressName));
}

代码示例来源:origin: apache/activemq-artemis

@Test
public void testStackOverflowJMS() throws Exception {
 final String QUEUE_NAME = "queues.queue0";
 setupCluster();
 startServers();
 ConnectionFactory cf1 = new ActiveMQConnectionFactory("vm://0");
 Connection c1 = cf1.createConnection();
 c1.start();
 Session s1 = c1.createSession();
 MessageConsumer mc1 = s1.createConsumer(s1.createQueue(QUEUE_NAME));
 waitForBindings(0, QUEUE_NAME, 1, 1, true);
 waitForBindings(1, QUEUE_NAME, 1, 1, false);
 ConnectionFactory cf2 = new ActiveMQConnectionFactory("vm://1");
 Connection c2 = cf2.createConnection();
 Session s2 = c2.createSession();
 MessageProducer mp2 = s2.createProducer(s2.createQueue(QUEUE_NAME));
 mp2.send(s2.createMessage());
 waitForBindings(1, QUEUE_NAME, 1, 0, true);
 assertTrue(Wait.waitFor(() -> servers[1].locateQueue(SimpleString.toSimpleString(QUEUE_NAME)).getMessageCount() == 1, 2000, 100));
 c1.close();
 c2.close();
}

代码示例来源:origin: apache/activemq-artemis

public void runSimple() throws Exception {
 deleteDirectory(new File("./target/server"));
 ActiveMQServer server = createServer("./target/server");
 try {
   server.start();
   ConnectionFactory factory = new ActiveMQConnectionFactory();
   Connection connection = factory.createConnection();
   Session session = connection.createSession();
   MessageProducer producer = session.createProducer(session.createQueue("queue"));
   for (int i = 0; i < 500; i++) {
    producer.send(session.createTextMessage("text"));
   }
   System.out.println("Sent messages");
 } finally {
   server.stop();
 }
}

代码示例来源:origin: apache/activemq-artemis

private void internalNoReconnect(String uriToUse, String destinationName) throws Exception {
 startClient(uriToUse, destinationName, true, false);
 ConnectionFactory cf = createCF(uriToUse);
 Connection connection = cf.createConnection();
 connection.start();
 try {
   Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
   Destination destination = session.createQueue(destinationName);
   MessageConsumer consumer = session.createConsumer(destination);
   for (int i = 0; i < NUMBER_OF_MESSAGES; i++) {
    // give more time to receive first message but do not wait so long for last as all message were most likely sent
    Assert.assertNotNull("consumer.receive(...) returned null for " + i + "th message. Number of expected messages" +
        " to be received is " + NUMBER_OF_MESSAGES, i == NUMBER_OF_MESSAGES - 1 ? consumer.receive(500) : consumer.receive(5000));
   }
 } finally {
   connection.stop();
   connection.close();
 }
 if (cf instanceof ActiveMQConnectionFactory) {
   ((ActiveMQConnectionFactory) cf).close();
 }
}

代码示例来源:origin: apache/activemq-artemis

private void sendObjectMessage(String qname, Serializable obj) throws Exception {
 ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("vm://0");
 Connection connection = factory.createConnection();
 try {
   Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
   Queue q = session.createQueue(qname);
   MessageProducer producer = session.createProducer(q);
   ObjectMessage objMessage = session.createObjectMessage();
   objMessage.setObject(obj);
   producer.send(objMessage);
 } finally {
   connection.close();
 }
}

代码示例来源:origin: apache/activemq-artemis

void start() {
  connectionFactory = new ActiveMQConnectionFactory(getVmURL());
  try {
   connection = connectionFactory.createConnection();
   session = connection.createSession();
   producer = session.createProducer(null);
   connection.start();
  } catch (JMSException jmsEx) {
   throw new EmbeddedJMSResourceException("InternalClient creation failure", jmsEx);
  }
}

代码示例来源:origin: apache/activemq-artemis

@Test
public void testBrowse2() throws Exception {
 conn = getConnectionFactory().createConnection();
 Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 MessageProducer producer = session.createProducer(queue1);
 ActiveMQConnectionFactory cf1 = (ActiveMQConnectionFactory) getConnectionFactory();
 ClientSession coreSession = cf1.getServerLocator().createSessionFactory().createSession(true, true);
 coreSession.start();
 ClientConsumer browser = coreSession.createConsumer("Queue1", true);
 conn.start();
 Message m = session.createMessage();
 m.setIntProperty("cnt", 0);
 producer.send(m);
 Assert.assertNotNull(browser.receiveImmediate());
 coreSession.close();
 drainDestination(getConnectionFactory(), queue1);
}

代码示例来源:origin: apache/activemq-artemis

@Test
public void testNoReconnectCloseAfterFailToReconnectWithTopicConsumer() throws Exception {
 ActiveMQConnectionFactory jbcf = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF, new TransportConfiguration(INVM_CONNECTOR_FACTORY));
 jbcf.setReconnectAttempts(0);
 Connection conn = jbcf.createConnection();
 Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 ClientSession coreSession = ((ActiveMQSession) sess).getCoreSession();
 coreSession.createQueue("mytopic", "blahblah", null, false);
 Topic topic = ActiveMQJMSClient.createTopic("mytopic");
 //Create a non durable subscriber
 sess.createConsumer(topic);
 Thread.sleep(2000);
 this.server.stop();
 this.server.start();
 sess.close();
 conn.close();
}

相关文章

微信公众号

最新文章

更多

ActiveMQConnectionFactory类方法