Hi David
First of all you need to subscribe to the user mailing list to post
questions and receive replies. I have directly copied you on this one..
<parameter name="transport.jms.Destination" locked="true" value="myTestQueue"/>
to the proxy element synapse fails to start up and I get the stack trace below:
2008-10-01 15:10:51,130 [172.25.1.248-bfs-product-1] [WrapperSimpleAppMain]
INFO JMSListener Starting to listen on destination : of type queue for service
TestProxy
2008-10-01 15:10:51,130 [172.25.1.248-bfs-product-1] [WrapperSimpleAppMain]
FATAL ServerManager Synaps startup failed...
java.lang.ClassCastException: org.apache.activemq.jndi.ReadOnlyContext cannot
be cast to javax.jms.Destination
at java.lang.Thread.run(Unknown Source)
Am I doing something fundamentally wrong here or is this a bug? (Also when I add the line <parameter
name="transport.jms.ConnectionFactory" locked="true"
value="myQueueConnectionFactory"/> It gives me a warning that the connection factory is invalid -
synapse starts, but my service is disabled)
The problem here is the way you may have created your Destination
"myTestQueue" - did you create this with the Web front end or the JMX
console? If so the JNDI name of it may be different. Usually ActiveMQ
has a concept of dynamic destinations - which gets created on first use.
If you write a simple JNDI lookup program of 5-10 lines, you should be
able to see your JMS Destination bound to the JNDI name you are thinking
of connecting to. The above log says "Starting to listen on destination
: of .." and you can see the destination name missing! The next logs
shows that looking up on JNDI fora JMS Destination resulted in something
else.. and thus the class cast
Hope this helps.. your problems is quite simple.. you just need to get
the correct JNDI name to the ESB
asankha