9 Nisan 2018 Pazartesi

Java - AQSession Arayüzü

Giriş
Şu satırı dahil ederiz.
import java.sql.Connection;
import oracle.AQ.AQAgent;
import oracle.AQ.AQDriverManager;
import oracle.AQ.AQQueue;
import oracle.AQ.AQQueueProperty;
import oracle.AQ.AQQueueTable;
import oracle.AQ.AQQueueTableProperty;
import oracle.AQ.AQSession;
Veri tabanında bir kullanıcı yaratırız. Şöyle yaparız.
CREATE USER jmsuser IDENTIFIED BY a;
GRANT DBA, AQ_ADMINISTRATOR_ROLE, AQ_USER_ROLE to jmsuser;
GRANT EXECUTE ON DBMS_AQADM TO jmsuser;
GRANT EXECUTE ON DBMS_AQ TO jmsuser;
GRANT EXECUTE ON DBMS_LOB TO jmsuser;
GRANT EXECUTE ON DBMS_JMS_PLSQL TO jmsuser;
constructor
Şöyle yaparız.
Connection con = ...;
AQSession aq_sess = AQDriverManager.createAQSession(con);
createQueueTable metodu
Örnek
Altta Oracle Advanced Queue teknolojisini kullanan bir JMS kuyruğu yaratır. Şöyle yaparız.
AQQueueProperty queue_prop = new AQQueueTableProperty("SYS.AQ$_JMS_BYTES_MESSAGE");
qtable_prop.setMultiConsumer(true);

AQQueueTable q_table = aq_sess.createQueueTable("jmsuser", "aq_table5", qtable_prop);
Kuyruktaki mesajlara bakmak için şöyle yaparız.
SELECT a.queue,  a.msg_state, a.consumer_name FROM jmsuser.aq$aq_table5 a
getTypeMap metodu
Şöyle yaparız.
Map map = session.getTypeMap();
map.put("SYS.XMLTYPE", Class.forName("oracle.xdb.XMLTypeFactory"));

Hiç yorum yok:

Yorum Gönder