activemq-artemis/examples/core/embedded-remote
Clebert Suconic 3c44e26854 ACTIVEMQ6-3 renaming directories from activemq6 to activemq
https://issues.apache.org/jira/browse/ACTIVEMQ6-3

We are renaming packages from activemq6 to activemq as that's more generic and version independent
On this first commit I'm just renaming the directories otherwise the history would be lost. The next commit will rename the text on the directories.
If I squash these two commits git will make us delete / add again.
2014-11-17 09:33:36 -05:00
..
src/main/java/org/apache/activemq/core/example ACTIVEMQ6-3 renaming directories from activemq6 to activemq 2014-11-17 09:33:36 -05:00
pom.xml Use new package names in config and classes 2014-11-11 18:28:18 +00:00
readme.html ACTIVEMQ6-1 - Initial HornetQ Donation Commit 2014-11-10 10:31:25 -06:00

readme.html

<html>
  <head>
    <title>HornetQ Embedded Example</title>
    <link rel="stylesheet" type="text/css" href="../../common/common.css" />
    <link rel="stylesheet" type="text/css" href="../../common/prettify.css" />
    <script type="text/javascript" src="../../common/prettify.js"></script>
  </head>
  <body onload="prettyPrint()">
     <h1>Embedded Example</h1>
     <p>This example shows how to setup and run HornetQ embedded with remote clients connecting.</p>
     <p>HornetQ was designed to use POJOs (Plain Old Java Objects), what makes embedding HornetQ as simple as instantiating a few objects.</p>

     <p>HornetQ Embedded could be used from very simple use cases with only InVM support to very complex cases with clustering, persistence and fail over.</p>


     <h2>Example step-by-step</h2>     
     <p><i>To run the example, simply type <code>mvn -Pserver</code> from this directory to start the server and <code>mvn -Pclient</code> to run the client example</i></p>
     <p>In this we don't use any configuration files. (Everything is embedded). We simply instantiate ConfigurationImpl, HornetQServer, start it and operate on JMS regularly</p>
     <br/>
     <ol>
        <li>On EmbeddedServer: Create the Configuration, and set the properties accordingly</li>
        <pre class="prettyprint">
           Configuration configuration = new ConfigurationImpl();
           configuration.setEnablePersistence(false);
           configuration.setSecurityEnabled(false);
        </pre>
         
        <li>On EmbeddedServer: Create and start the server</li>
        <pre class="prettyprint">
           HornetQServer server = HornetQ.newHornetQServer(configuration);
           server.start();
        </pre>

        <li>As we are not using a JNDI environment we instantiate the objects directly</li>
        <pre class="prettyprint">
           ServerLocator serverLocator = HornetQClient.createServerLocatorWithoutHA(new TransportConfiguration(NettyConnectorFactory.class.getName()));
           ClientSessionFactory sf = serverLocator.createSessionFactory();
        </pre>

        <li>Create a Core Queue</li>
        <pre class="prettyprint">
           ClientSession coreSession = sf.createSession(false, false, false);
           final String queueName = "queue.exampleQueue";
           coreSession.createQueue(queueName, queueName, true);
           coreSession.close();
        </pre>

        <li>Create the session and producer</li>
        <pre class="prettyprint">
           session = sf.createSession();
                                   
           ClientProducer producer = session.createProducer(queueName);
        </pre>

        <li>Create and send a Message</li>
        <pre class="prettyprint">
           ClientMessage message = session.createMessage(false);
           message.putStringProperty(propName, "Hello sent at " + new Date());
           System.out.println("Sending the message.");
           producer.send(message);
        </pre>

        <li>Create the message consumer and start the connection</li>
        <pre class="prettyprint">
           ClientConsumer messageConsumer = session.createConsumer(queueName);
           session.start();
        </pre>

        <li>Receive the message</li>
        <pre class="prettyprint">
           ClientMessage messageReceived = messageConsumer.receive(1000);
           System.out.println("Received TextMessage:" + messageReceived.getProperty(propName));
        </pre>

        <li>Be sure to close our resources!</li>

        <pre class="prettyprint">
           if (sf != null)
           {
              sf.close();
           }
        </pre>
     </ol>
  </body>
</html>