Bernhard Seidl created QPIDJMS-332: -------------------------------------- Summary: Defining queue's name as tomcat resource conflichts resource definition Key: QPIDJMS-332 URL: https://issues.apache.org/jira/browse/QPIDJMS-332 Project: Qpid JMS Issue Type: Improvement Components: qpid-jms-client Affects Versions: 0.25.0 Reporter: Bernhard Seidl
Since a few days i am trying to define a queue resource in Tomcat's context.xml. The attribute "name" defines the jndi name. Looking at org.apache.qpid.jms.JmsDestination the attribute is called "name", too. This seems to me as a naming conflict. I tried to use the attribute "physicalName" due to the fact that some of the classes are based on ActiveMQ. However I am not sure if I am missing a point somewhere else: This is my setup: Context.xml {code:xml} <Resource name="jms/ConnectionFactory" auth="Container" type="org.apache.qpid.jms.JmsConnectionFactory" factory="org.apache.qpid.jms.jndi.JNDIReferenceFactory" remoteURI="amqp://10.10.10.1:5672" username="a" password="a" maxPoolSize="20" connectionTimeout="60000" /> <Resource name="jms/queue" auth="Container" type="org.apache.qpid.jms.JmsQueue" factory="org.apache.qpid.jms.jndi.JNDIReferenceFactory" physicalName="name"/> {code} Init-code using spring: {code:java} @Configuration @EnableJms public class MessagingConfiguration { @Bean public ConnectionFactory connectionFactory() throws NamingException { ConnectionFactory connectionFactory = (new JndiTemplate()) .lookup("java:/comp/env/jms/ConnectionFactory",ConnectionFactory.class); return connectionFactory; } @Bean public DestinationResolver destinationResolver() { JndiDestinationResolver jdr = new JndiDestinationResolver(); try { // testing Queue q = jdr.getJndiTemplate().lookup("java:/comp/env/jms/queue", Queue.class); System.out.println("A: " + q.getQueueName()); System.out.println("B: " + (new JndiTemplate()).lookup("java:/comp/env/jms/queue", Destination.class).getClass()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return jdr; } @Bean public JmsTemplate jmsTemplate() throws NamingException { JmsTemplate template = new JmsTemplate(); template.setConnectionFactory(connectionFactory()); template.setDestinationResolver(destinationResolver()); return template; } } {code} Running the code prints out: {noformat} ... A: B: class org.apache.qpid.jms.JmsQueue {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org