Veri

wlclient Client İle Bir Topice Abone Olan ve Mesaj alan Bir Örnek

wlclient kütüphanesi WebLogic için thin client adı verilen standalone console uygulamaları geliştirmenizi ve WebLogic'e RMI üzerinden erişmenizi sağlayan bir kütüphanedir. Aşağıdaki örnekte bir Topic için abone olan bir client örneği görülmektedir :
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.Session;
import javax.jms.Topic;
import javax.jms.TopicConnection;
import javax.jms.TopicConnectionFactory;
import javax.jms.TopicSession;
import javax.jms.TopicSubscriber;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;
 
public class TopicReceive implements MessageListener{
             
	public final static String JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory";

	public final static String JMS_FACTORY = "ConnectionFactory-Test";
	public final static String TOPIC = "Topic-Test";

	@Override
	public void onMessage(Message arg0) {

		System.out.println("***** Topic is received");
			   
	}

	public void init() throws NamingException, JMSException{
			   
		String URL="t3://localhost:7001";
	   
		Hashtable<String, String> env = new Hashtable<String, String>();
		env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
		env.put(Context.PROVIDER_URL, URL);
	   
		InitialContext initialContext=new InitialContext(env);
	   
		TopicConnectionFactory connectionFactory = (TopicConnectionFactory)
			PortableRemoteObject.narrow(initialContext.lookup(JMS_FACTORY),
			TopicConnectionFactory.class);
	   
	   
		TopicConnection connection  = connectionFactory.createTopicConnection();
	   
		TopicSession session = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
	   
		Topic topic = (Topic) PortableRemoteObject.narrow(initialContext.lookup(TOPIC), Topic.class);
	   
		TopicSubscriber subscriber = session.createSubscriber(topic);
	   
		subscriber.setMessageListener(this);
	   
		connection.start();
			   
			   
	}

	public static void main(String[] args) throws NamingException, JMSException {
			   
		TopicReceive topicReceive=new TopicReceive();
		topicReceive.init();
			   
	}
 
}
Örnekte Topic-Test adı verilen bir Topic için abone oluyoruz. Listener olarak sınıf kendisini veriyor. Yeni bir mesaj eklenirse onMessage yöntemi çağrılacaktır. weblogic.jndi.WLInitialContextFactory , WebLogic'in naming service'ine erişmek için kullanılır. PortableRemoteObject içindeki narrow metodu ise RMI protokolü ile uzaktaki nesneyi local nesneye cast etme işlemini yapar.
zafer.teker , 09.02.2017

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir

Misafir Yorumları




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir