This may help someone who wants to setup active mq auto discovery on EC2. 

*Active-MQ Broker configuration:*

1. In $ACTIVEMQ_HOME/webapps folder create a new folder 

|_activemq
      |_WEB-INF
             |_classes
             |_web.xml


create a web.xml file with the following contents

    &ltweb-app>

        &ltdisplay-name>ActiveMQ Message Broker Web
Application&lt/display-name>
        &ltdescription>
                Provides an embedded ActiveMQ Message Broker embedded inside a 
web
application
        &lt/description>

        &lt!-- context config -->
        &ltcontext-param>
                &ltparam-name>org.apache.activemq.brokerURL&lt/param-name>
                &ltparam-value>tcp://localhost:61617&lt/param-value>
                &ltdescription>The URL that the embedded broker should listen 
on in
addition to HTTP&lt/description>
        &lt/context-param>
        &lt!-- servlet mappings -->
        &ltservlet>
                &ltservlet-name>DiscoveryRegistryServlet&lt/servlet-name>
        
&ltservlet-class>org.apache.activemq.transport.discovery.http.DiscoveryRegistryServlet&lt/servlet-class>
                &ltload-on-startup>1&lt/load-on-startup>
        &lt/servlet>
    
        &ltservlet-mapping>
                &ltservlet-name>DiscoveryRegistryServlet&lt/servlet-name>
                &lturl-pattern>/*&lt/url-pattern>
        &lt/servlet-mapping>
    &lt/web-app>

2. Place **httpclient-4.0.3.jar, httpcore-4.3.jar, xstream-1.4.5.jar and
activemq-optional-5.6.0.jar** in  **$ACTIVEMQ_HOME/lib** directory.

3. In* $ACTIVEMQ_HOME/config* directory, modify the *jetty.xml* file to
expose activemq web app.


        &ltbean id="securityHandler"
class="org.eclipse.jetty.security.ConstraintSecurityHandler">
                ...
                &ltproperty name="handler">
                &ltbean id="sec"
class="org.eclipse.jetty.server.handler.HandlerCollection">
                        &ltproperty name="handlers">
                                ...
                                ...
                                &ltbean 
class="org.eclipse.jetty.webapp.WebAppContext">
                                        &ltproperty name="contextPath"
value="/activemq" />
                                        &ltproperty name="resourceBase"
value="${activemq.home}/webapps/activemq" />
                                        &ltproperty name="logUrlOnStart"
value="true" />
                                        &ltproperty
name="parentLoaderPriority" value="true" />
                                        ...
                                        ...
                                &lt/list>
                        &lt/property>
                &lt/bean>
                &lt/property>
        &lt/bean>

4. Modify activemq.xml file in  $ACTIVEMQ_HOME/conf directory to use http
protocol

        &ltbroker name=”brokerName”>
        ...
         &ltnetworkConnectors>
              &ltnetworkConnector name="default"
uri="http://&ltloadbalancer_IP>:&ltlocadbalancer_Port>/activemq/DiscoveryRegistryServlet?group=test"/>
              &lt!--&ltnetworkConnector name="default-nc"
uri="multicast://default"/>-->
               &lt/networkConnectors>

                &lttransportConnectors>
                    &lttransportConnector name="http" uri="tcp://0.0.0.0:61618"
discoveryUri="http://&ltloadbalancer_IP>:&ltlocadbalancer_Port>/activemq/test"/>
                &lt/transportConnectors>
        ...
        &lt/broker>

make sure that the broker names are unique. “test” in url is the group name
of brokers.
Client configuration:
1. Keep  httpclient-4.0.3.jar, httpcore-4.3.jar, xstream-1.4.5.jar and
activemq-optional-5.6.0.jar in classpath of client
2. URL to be use by client 


discovery:(http://&ltloadbalancer_IP>:&ltlocadbalancer_Port>/activemq/test)connectionTimeout=10000

here “test” is the group name.




--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Discovery-without-multicast-like-on-EC2-tp3658967p4674710.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.

Reply via email to