You can customize the activemq component in your spring.xml to specify the user/password and to switch from the default TCP transport to use VM if you prefer. See...
http://activemq.apache.org/camel/activemq.html 2008/7/8 Yari <[EMAIL PROTECTED]>: > > Hi everyone, > i started working on ActiveMQ for a few days and i wanna share an experience > i found out to be interesting (and could save a lot of time) to other > people.The project i work on required JAAS, for authentication and > authorization, as well as Camel, in order to integrate Enterprise > Integration Patterns. We decided to start building what we need with a > simple content based router using the EL scripting language. > > So the first thing was to download the camel-juel jar from > http://people.apache.org/repo/m2-snapshot-repository/org/apache/camel/camel-juel/ > and saved in the activemq lib/ directory. > > Then we edited the activemq.xml configuration with: > > <camelContext id="camel" > xmlns="http://activemq.apache.org/camel/schema/spring"> > <route> > <from uri="activemq:QUEUE.FOO"/> > <choice> > <when> > <el>${in.headers['TESTHEADER'] == 'TEST' }</el> > <to uri="activemq:QUEUE.BAR"/> > </when> > <otherwise> > <to uri="activemq:QUEUE.BUZZ"/> > </otherwise> > </choice> > </route> > </camelContext> > > and we tried starting the broker, and everything was fine, the routing was > able to dispatch to the correct queue based on headers (so messages with > TESTHEADER equals to TEST were dispatched to QUEUE.BAR, everything else to > QUEUE.BUZZ). > > We then tried to enable JAAS authentication and authorization with: > > <plugins> > <jaasAuthenticationPlugin configuration="activemq-domain" /> > </plugins> > > setting everything up like explained in > http://activemq.apache.org/security.html. > When we tried to start the broker we end up with: > > java.lang.SecurityException: User name or password is invalid > (and a bunch of stack traces) > > After a lot of work we were able to understand that, when Camel is started > it tries to connect to the broker in order to create queues and topic > required for routing (in the above example to create QUEUE.FOO, > QUEUE.BAR,QUEUE.BUZZ). Obviously, since there's an authorization required to > access the broker, and you can't provide Camel with a username and a > password (or at least we weren't able to find a way to do that), it cannot > authenticate and so it cannot do anything > > Just to save some work to some of you, remember that you cannot provide > Camel with connection informations as well, so, for example, if you have a > machine with an IP 192.168.0.1 and you change: > > <transportConnectors> > <transportConnector name="openwire" > uri="tcp://localhost:61616" > /> > </transportConnectors> > > ,which will bind your broker to both 127.0.0.1 and 192.168.0.1, to > > <transportConnectors> > <transportConnector name="openwire" > uri="tcp://192.168.0.1:61616" > /> > </transportConnectors> > > Camel won't work as well, because it won't be able to connect to the broker, > so it won't be able to install routes. > > So we ended up disabling JAAS plugin, in order to be able to use Camel. Now > i have some questions: > > 1) Is there any way to pass a username and a password to Camel? and if it > isn't, is there any plan to implement such feature? > 2) why is Camel using a TCP connection instead of direct methods invocation? > 3) is there any documentation about this problem which maybe i missed? > > best regards, > Yari > -- > View this message in context: > http://www.nabble.com/ActiveMQ---Camel-tp18336458p18336458.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > -- James ------- http://macstrac.blogspot.com/ Open Source Integration http://open.iona.com