hello!
i want to write a simple messaging program by using spring.i am using jms with spring framework.I have made lots of searching about jms in spring on net,read API's and also jms javadocs.But i couldn't connect and got together which i found about spring and jms.Especially ,there are some points which i couldn't understand..(I am using sun application server)
1-I could't create Properties for JndiTamplete..İt is possible to use like this
Properties prop = new Properties();
prop.put(Context.INITIAL_CONTEXT_FACTORY,"org.java x.jms.ConnectionFactory");
prop.put(Context.PROVIDER_URL,"tcp://localhost:7676");
JndiTemplate jndi = new JndiTemplate(prop);
2-Must i create a xml file(i don't want to use beans..is it possible?)?
3-SingleConnectionFactory class has a createConnection method and JmsTemplate102 has also..How must i use this method?
and i want to define a simple sender by using jms in spring ?my code is below!could ypu help me to write a sample prodecer in spring?thanks a lot
//import javax.jms.ConnectionFactory;
import javax.jms.Queue;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.QueueConnectionFactory;
import javax.jms.Destination;
import javax.jms.Session;
import javax.jms.MessageProducer;
import javax.jms.MessageConsumer;
import javax.jms.JMSException;
import javax.naming.*;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.JmsTemplate102;
import org.springframework.jndi.JndiTemplate;
import java.util.Properties;
public class JmsMessanger{
ConnectionFactory fabrika;
JmsTemplate jmsTemp;
Queue queue;
JndiTemplate jndi;
Properties prop;
Connection QConnection;
Session oturum;
MessageProducer sender;
public static void main(String args[]){
new JmsMessanger().send();
}
public void send(){
try{
jmsTemp = new JmsTemplate102(fabrika,false);//gives error
prop = new Properties();
prop.put(Context.INITIAL_CONTEXT_FACTORY,"org.java x.jms.ConnectionFactory");
prop.put(Context.PROVIDER_URL,"tcp://localhost:7676");
jndi = new JndiTemplate(prop);
fabrika = (QueueConnectionFactory) jndi.lookup("qcf");
queue = (Queue)jndi.lookup("MyQueue");
//jndi.bind("qcf",fabrika);
//jndi.bind("MyQueue",queue);
fabrika = (QueueConnectionFactory)jmsTemp.getConnectionFacto ry();
QConnection = fabrika.createConnection();
QConnection.start();
oturum = QConnection.createSession(false,Session.AUTO_ACKNO WLEDGE);
sender = oturum.createProducer(queue);
jmsTemp.convertAndSend(queue,"hello word");
}catch(NamingException e){
System.err.println("jndi naming exeception hatasi"+e);
System.exit(1);
}catch(JMSException e){
System.err.println("jms exeception hatasi"+e);
System.exit(1);
}
}
public void setConnectionFactory(ConnectionFactory cf) {
fabrika = cf;
}
}


Reply With Quote