09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Enqueuing and Dequeuing Of Messages<br />

"select empty_clob() from dual");<br />

rset1 = (<strong>Oracle</strong>ResultSet) clob_stmt0.executeQuery ();<br />

try<br />

{<br />

if (rset1.next())<br />

{<br />

c1 = (oracle.sql.CLOB)rset1.getClob(1);<br />

}<br />

if (c1 == null)<br />

{<br />

System.out.println("select empty_clob() from dual failed");<br />

}<br />

}<br />

catch (Exception ex)<br />

{<br />

System.out.println("Exception2 during select from dual " + ex);<br />

ex.printStackTrace();<br />

}<br />

id=i+1;<br />

mStr = "Message #" + id;<br />

sPayl.setId(new BigDecimal(id));<br />

sPayl.setTrailer(new BigDecimal(id));<br />

sPayl.setSubject(mStr);<br />

sPayl.setData(b1);<br />

sPayl.setCdata(c1);<br />

/* Set Object Payload data */<br />

sPayload.setPayloadData(sPayl);<br />

/* Enqueue the message */<br />

queue1.enqueue(eq_option, adt_msg);<br />

System.out.println("Enqueued Message: " + id );<br />

smsgid = adt_msg.getMessageId();<br />

/*<br />

* Note: The message is initially enqueued with an EMPTY BLOB and CLOB<br />

* After enqueuing the message, we need to get the lob locators and<br />

* then populate the LOBs<br />

*/<br />

blob_stmt = (<strong>Oracle</strong>CallableStatement)db_conn.prepareCall(<br />

"SELECT user_data FROM qt_adt where msgid = ?");<br />

blob_stmt.setBytes(1,smsgid);<br />

rset2 = (<strong>Oracle</strong>ResultSet) blob_stmt.executeQuery ();<br />

try<br />

{<br />

<strong>Oracle</strong> <strong>Advanced</strong> <strong>Queuing</strong> by Example A-59

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!