WEB开发网
开发学院数据库Oracle Oracle开发人员JAVA存储过程 阅读

Oracle开发人员JAVA存储过程

 2008-09-04 12:49:53 来源:WEB开发网   
核心提示: 数据驱动的消息传送 Oracle9i数据库嵌入了Advanced Queuing(AQ,高级排队),Oracle开发人员JAVA存储过程(6),它是一种集成的、稳定、可靠、安全、可扩展和事务处理式的消息排队框架,Oracle通过标准的Java消息传送系统(Java Messaging Sy

数据驱动的消息传送

Oracle9i数据库嵌入了Advanced Queuing(AQ,高级排队),它是一种集成的、稳定、可靠、安全、可扩展和事务处理式的消息排队框架。Oracle通过标准的Java消息传送系统(Java Messaging System,JMS)API为Java开发人员提供AQ功能。Java存储过程可以通过JMS接口调用AQ操作,从而能够实现快速、在会话期内、可扩展的、数据驱动的消息传送。

Java存储过程可以利用JMS调用AQ操作。可以用以下4个步骤实现这一模式:

创建并启动JMS Queue(为此,可以将以下一些操作嵌入SQL脚本内):

  execute dbms_aqadm.create_queue_table(queue_table => ’queue1’, queue_payload_type => ’SYS.AQ$_JMS_TEXT_MESSAGE’, comment => ’a test queue’, multiple_consumers => false, compatible => ’8.1.0’);
execute dbms_aqadm.create_queue( queue_name => ’queue1’, queue_table => ’queue1’ );
execute dbms_aqadm.start_queue(queue_name => ’queue1’);

创建Java存储过程(代码摘录如下):

  public static void runTest(String msgBody)
{
try
{
// get database connection ora_drv = new OracleDriver();
db_conn = ora_drv.defaultConnection();
// setup sender (cf online code sample) .. // create message s_msg = s_session.createTextMessage(msgBody);
// send message sender.send(s_msg);
s_session.commit();
// receive message r_msg = (TextMessage) receiver.receive();
r_session.commit();
// output message text String body = r_msg.getText(); System.out.println("message was ’"+body+"’"); ..
} }

上一页  1 2 3 4 5 6 7  下一页

Tags:Oracle 开发 人员

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接