[ 
https://issues.apache.org/activemq/browse/AMQ-1895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary Tully resolved AMQ-1895.
-----------------------------

    Resolution: Fixed

rev  687280

addition to camel config in activemq,xml to use vm transport for the activemq 
component broker url.
{code}
    <!-- configure the camel activemq component to use the current broker -->
    <bean id="activemq" 
class="org.apache.activemq.camel.component.ActiveMQComponent" >
        <property name="brokerURL" 
value="vm://localhost?create=false&amp;waitForStart=10000" />
    </bean>
{code}
Making this the camel activemq component default broker url (and updating the 
camel dependency), and this config can be removed, At the moment the camel 
defalult url uses port 61616.

> activemq.xml embedded camel context cannot resolve  a broker if port other 
> than default(61616) is used for tcp transport
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-1895
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1895
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0
>         Environment: all
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>             Fix For: 5.2.0
>
>
> The camel context defined in acrtivemq.xml  does not specify a camel 
> activeMQComponent (where a brokerUrl could be specified) and hence false back 
> to the use of the default broker URL from ActiveMQConnectionFactory. This 
> breaks down when a non default port is specified for the broker.
> The result is the camel context continually retrying to connect to a non 
> existent port.
> It may make sense to pull the camel context out of the default activemq.xml 
> altogether but with it present, it may make sense to have the camel 
> activmqcomponent use a default broker url that uses the vm transport as the 
> context will always be embedded in a broker.
> One issue with the use of vm transport is that the first use of the transport 
> creates an embedded broker. With the xbean xml, the camel context bean starts 
> before the brokerService so the result is two brokers.
> It would be usefull if the vm transport url allowed an option to wait for a 
> broker to start so that the camel context can reliably use the vm transport 
> without the possibility of creating a separate embedded broker.
> Something like the following would work:
> {code} vm://localhost?waitForStart=10000&create=false {code}
> In this way, the camel embedded connection factory would wait up to 10 
> seconds for the localhost broker to start and fail with an exception (b/c 
> create=false) in the event that the broker does not start within that time.
> This would be a sensible default url for the activemq camel component in the 
> acrtivemq.xml such that it is independent of transport options used by the 
> broker.
> (The spring depends-on workaround for this ordering dependency only works in 
> a complete spring context)
> {code}
>     <bean id="activemq" 
> class="org.apache.activemq.camel.component.ActiveMQComponent" >
>         <property name="brokerURL" 
> value="vm://localhost?waitForStart=10000&create=false" />
>     </bean>
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to