Can't find ConnectionFactory
deege Jul 19, 2011 6:07 PMHi,
I'm creating the message producer in a JMS client app a little different than the examples. I'm trying to use injection with the Java annotations. This is what I'm trying to use to post messages to a queue.
public class HornetProducer {
@Resource(mappedName="ConnectionFactory")
private static ConnectionFactory connectionFactory;
@Resource(mappedName="queue/Queue")
private static Queue queue;
/**
* @param args
*/
public static void main(String[] args) {
Connection connection;
try {
connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(queue);
TextMessage message = session.createTextMessage();
for (int i = 0; i < 10; i++) {
message.setText("This is message " + (i + 1));
System.out.println("Sending message: " + message.getText());
producer.send(message);
}
// end message
producer.send(session.createMessage());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
I'm running HornetQ as a standalone app. I've created a queue and connection factory in hornetq-jms.xml as listed below
<connection-factory name="ConnectionFactory"> <connectors> <connector-ref connector-name="netty"/> </connectors> <entries> <entry name="ConnectionFactory"/> </entries> </connection-factory> <queue name="Queue"> <entry name="/queue/Queue"/> </queue>
When I try running this, it looks like the connection factory and queue are never injected. The connection factory is null when it's trying to create a connection.
I also created a jndi.properties file, and put it in the classpath.
Is there something I'm missing? Is there something else I need to configure?
Thanks,
DJ Spiess