Note that there are some explanatory texts on larger screens.

plurals
  1. POClassCastException in JMS ConnectionFactory lookup in JNDI
    primarykey
    data
    text
    <p>I am new to Queues. I had setup my queue in JBOSS 5.1 EAP and now while trying to inject in tho the queue am getting a <code>ClassCastException</code> (in lookup of JNDI), I use flex on my front end and use Spring framework for flex. When injected into the queue using quartz job it runs well and good. The quartz job is a separate project and has nothing to do with flex and spring.</p> <p>I read over some where that this could be a jar issue, I had JMS jars in my spring and i tried removing, replacing all types of jars, no luck.</p> <pre><code> // Step 1. Create an initial context to perform the JNDI lookup. InputStream in = this.getClass().getResourceAsStream( "/clv2.properties"); Properties configProp = new Properties(); configProp.load(in); IpAddress = configProp.getProperty("ipaddress"); port = configProp.getProperty("port"); inQueueName = configProp.getProperty("inQueueName"); Properties props = new Properties(); props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming"); // props.setProperty("java.naming.provider.url", host + ":" + port); props.setProperty("java.naming.provider.url", "localhost" + ":" + 1099); // props.setProperty("java.naming.provider.url", // "16.181.233.61:1399"); initialContext = new InitialContext(props); // Step 3. Perform a lookup on the Connection Factory QueueConnectionFactory cf = (QueueConnectionFactory) initialContext .lookup("/ConnectionFactory"); Queue queue = (Queue) initialContext .lookup(/* "/queue/CLVInboundQueue" */inQueueName); // Step 4.Create a JMS Connection connection = (QueueConnection) cf.createConnection(); // Step 5. Create a JMS Session session = (QueueSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // Step 6. Create a JMS Message Producer // MessageProducer producer = session.createProducer(queue); QueueSender queueSender = session.createSender(queue); TextMessage textMessage = session.createTextMessage(message); textMessage.setLongProperty("Rejected_Message_ID", rejected_Message_Id); /* * BufferedReader reader = new BufferedReader(new * InputStreamReader(ClassLoader.class.getResourceAsStream(file))); * StringBuilder sb = new StringBuilder(); String line = null; * * * while ((line = reader.readLine()) != null) { sb.append(line + * "\n"); } String announcementmsg = sb.toString(); */ commonlogger.info(textMessage); connection.start(); // producer.send(session.createTextMessage(announcementmsg)); queueSender.send(textMessage); </code></pre> <p>This is my piece of coding to inject into the queue. I get the Exception in "//Step 3. Perform a lookup on the Connection Factory" and this is my stack trace.</p> <pre><code>09:22:20,730 ERROR [STDERR] java.lang.ClassCastException: org.jboss.jms.client.JBossConnectionFactory cannot be cast to javax.jms.QueueConnectionFactory 09:22:20,731 ERROR [STDERR] at com.cat.clv.util.InQueueReinjectMessage.sendMessage(InQueueReinjectMessage.java:63) 09:22:20,731 ERROR [STDERR] at com.cat.clv.util.RejectedMessageReinject.reProcessedMessage(RejectedMessageReinject.java:65) 09:22:20,731 ERROR [STDERR] at com.cat.clv.service.ReinjectMessagesServiceImpl.reinjectRejectedMessages(ReinjectMessagesServiceImpl.java:106) 09:22:20,731 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 09:22:20,731 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 09:22:20,732 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 09:22:20,732 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source) 09:22:20,732 ERROR [STDERR] at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:421) 09:22:20,732 ERROR [STDERR] at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183) 09:22:20,732 ERROR [STDERR] at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1503) </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload