How to use Threading Concept in oracle

Hi all,
I am having requirement such that i have to execute a function after insert of data in one table.due to performance issues i have to execute this function using java pooling.if anybody having idea regarding this one please share.
I have tried by using simple javaThreading but it is not working.
Regards,
Ramesh.

public static void main (String args[] ) throws Exception {
log("main thread is: " + Thread.currentThread());
TaskProcessor taskProcessor[] = new TaskProcessor[5];
Thread threads[] = new Thread[taskProcessor.length];
for (int i=0; i<taskProcessor.length; i++) {
taskProcessor[i] = new TaskProcessor(i);
threads[i] = new Thread(taskProcessor);
threads[i].start();
for (int i=0; i<taskProcessor.length; i++) {
if (threads[i].isAlive()) {
threads[i].join();
* Thread to run many concurrent connections
private static class TaskProcessor implements Runnable {
private int number = 0;
public TaskProcessor(int number) {
this.number = number;
public void run() {
try {
log("Thread started: " + Thread.currentThread());
// Get a connection
Connection conn = ConnectionFactory.getConnection();
// Sleep and yield so that other threads can run
Thread.yield();
//Thread.sleep(1000);
Thread.yield();
Connection conn1 =ConnectionFactory.getConnection();
log("Thread " + Thread.currentThread() + ": First Con: " + conn);
log("Thread " + Thread.currentThread() + ": Second Con: " + conn1);
if (conn1 != conn)
throw new Exception("Connections dont match: " + conn + ": " + conn1);
log("Thread " + Thread.currentThread() + " over");
} catch (Exception e) {
System.out.println("Exception"+e);
private String getLeastLoadedPool() {
if (lastNodePoolUsed == null) {
lastNodePoolUsed = "1";
return "1";
if (lastNodePoolUsed.equals("1")) {
lastNodePoolUsed = "2";
return "2";
else {
lastNodePoolUsed = "1";
return "1";
// in connection factory get connection factory
public synchronized static Connection getConnection() throws Exception {
if (singletonFactory == null)
singletonFactory = new ConnectionFactory();
String poolId = (String) nodePoolTracker.get();
if (poolId == null) {
// one and store it in the thread
poolId = singletonFactory.getLeastLoadedPool();
nodePoolTracker.set(poolId);
log("No Pool Associated:" + Thread.currentThread() + ", adding: " + poolId);
return singletonFactory.getConnection(poolId);
else {
log("Pool Associated:" + Thread.currentThread() + ", " + poolId);
return singletonFactory.getConnection(poolId);
after creating this class by using lodajava i have loaded in oracle.
Regrads,
Ramesh

Similar Messages

  • How to use java source in Oracle when select by sqlplus.

    How to use java source in Oracle when select by sqlplus.
    I can create java source in Oracle
    import java.util.*;
    import java.sql.*;
    import java.util.Date;
    public class TimeDate
         public static void main(String[] args)
    public String setDate(int i){
    GregorianCalendar calendar = new GregorianCalendar();
    calendar.setTime(new Date((long)i*1000));
    System.out.println("Dateline: "
    + calendar.get(Calendar.HOUR_OF_DAY) + ":"
    + calendar.get(Calendar.MINUTE) + ":"
    + calendar.get(Calendar.SECOND) + "-"
    + calendar.get(Calendar.YEAR) + "/"
    + (calendar.get(Calendar.MONTH) + 1) + "/"
    + calendar.get(Calendar.DATE));
    String n = calendar.get(Calendar.YEAR) + "/" + (calendar.get(Calendar.MONTH) + 1) + "/" + calendar.get(Calendar.DATE);
         System.out.print(n);
         return n;
    I have table name TEST
    ID DATE_IN
    1 942685200
    2 952448400
    When I write jsp I use method setDate in class TimeDate
    The result is
    ID DATE_IN
    1 1999/11/16
    2 2003/7/25
    Thanks you very much.

    It is unclear where you are having a problem.  Is your issue at runtime (when the form runs in the browser) or when working in the Builder on the form?
    Also be aware that you will need to sign your jar and include some new manifest entries.  Refer to the Java 7u51 documentation and blogs that discuss the changes.
    https://blogs.oracle.com/java-platform-group/entry/new_security_requirements_for_rias
    http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html

  • How to use unicode fonts in Oracle forms 10g?

    Hi I am working in forms 10g for quite a long time, the software that I have developed so far are all in English language. Now I have requirements to use Bengali Fonts in Forms 10g. I am facing difficulties doing that. Please reply with help. Thanks
    Hasan Al Mamun

    Check this forum post (though that is for 6i, it would be of helpful for you)
    How to use unicode fonts in Oracle forms 10g?
    -Arun

  • How to  use  crystal reports in oracle Jdeveloper

    Hi,
    I was implemented crystal reports in Crystal reports for eclipse also i made .rpt & .JSP how to use these file in oracle JDeveloper 10 g
    can any one please help regarding this matter send any information if avilable send me on my mail My mail id: - [email protected]
    Thank you !
    regards,
    Amol

    you are in the Oracle Forms Forum and your question is related to JDeveloper and Crystal Reports, you think those two are linked to Oracle Forms in anyway??
    Please post your questions in the appropriate Forum.
    Tony

  • How to use threads in JSP???

    hello
    i want to use threads with JSP.
    i want to write a jsp page which will
    start 2 different threads. the 1st thread should just display a message and the second page should redirect this page to another jsp page.
    till the redirection is goin on, the message should be displayed in the browser from the 1st thread.
    i dont know actually how to use threads in JSP by implementing the Runnable insterface, if not m then how do i do it ??
    thanx
    Kamal Jai

    Why do you want to use threads to do this ??
    If you write a message and do a redirection, the message will be displayed until the other page will be loaded into the browser...
    I already launched a thread from a JSP but it was for a four hour process where the user can close his browser windows.

  • How to Use Sequence created in Oracle Database in SQL Ldr Control file

    Hi,
    I created a sequence in oracle database. How will use the sequence in SQL loader Control file.
    Thanks in advance

    Hi,
    You might get a good response to your post in the forum dedicated to data movement , including SQL*Loader . You can find it here Export/Import/SQL Loader & External Tables
    Regards,

  • How to use BULK COLLECT in oracle forms

    hi gurus,
    I am using oracle forms
    Forms [32 Bit] Version 10.1.2.0.2 (Production)
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionI wanna use bulk collect from database table lets say <employees>
    while working on database level with collections and records it's working very well for me, but when I try to use that technique on oracle forms it hits me error
    error 591 this feature is not supported in client side programmingI know I can use cursors to loop through the records of oracle tables ,
    but I'm convenient while using collections and arrays
    for example
    Set Serveroutput On
    Declare
          Type Rec_T Is Record (     
           Empid Number ,
           Empname Varchar2(100)
          Type V_R Is Table Of Rec_T Index By Binary_Integer;     
          V_Array V_R;
    Begin
       Select Employee_Id , First_Name
       Bulk Collect
       Into V_Array
          From Employees; 
       For Indx In V_Array.First..V_Array.Last Loop
       Dbms_Output.Put_Line('employees id '||V_Array(Indx).Empid ||'and the name is '||V_Array(Indx).Empname);
       End Loop;      
         End;I wanna use this same way on oracle forms , for certain purposes , please guide me how can I use ...
    thanks...

    For information, you can use and populate a collection within the Forms application without using the BULK COLLECT
    Francoisactually I want to work with arrays , index tables ,
    like
             record_type (variable , variable2);
             type type_name <record_type>  index by binary_integer
            type_variable type_name;
            and in main body of program
            select something
            bulk collect into type_variable
            from any_table;
           loop
                type_variable(indx).variable , type_variable(indx).variable2;
           end loop;
           this is very useful for my logic on which I am working
              like
              type_variable(indx).variable || type_variable(indx-1);
             if it's possible with cursors then how can I use cursor that can fullfill my this logic@Francois
    if it's possible then how can i populate without using bulk collect?
    thanks
    and for others replies: if I can use stored procedures please give me any example..
    thanks

  • How to use pool connection run oracle procedure?

    Hi, All:
              I am facing a difficulty I can not find the solution. Maybe you can help
              me.
              I want to call an oracle stored procedure whenever I talk to datebase to
              make the application more efficient. I was able to run the procedure using
              oracle thin driver but not the connection pool using Weblogic jDriver for
              JDBC2.0.
              Please check the following code and see what I did wrong:
              The code in JSP file in Weblogic:
              <%-- JSP page directive --%>
              <%@ page
              import="java.io.*,java.util.*,java.sql.*,weblogic.common.*,weblogic.jdbc20.c
              ommon.*" %>
              <%-- JSP Declaration --%>
              <%!
              protected Connection con = null;
              ResultSet rset = null;
              %>
              <%-- JSP Scriptlet --%>
              <% try {
              Properties props = new Properties();
              props.setProperty("user", "james");
              props.setProperty("password", "aimjames");
              Driver myDriver =
              (Driver) Class.forName
              ("weblogic.jdbc.pool.Driver").newInstance();
              con = myDriver.connect("jdbc:weblogic:pool:hdj2Pool", props);
              String userid = (String)session.getAttribute("user.id");
              int subid =
              Integer.parseInt((String)session.getAttribute("sub.id"));
              String query = "begin pkg_select.sel_req_in_001(" + userid +
              ", " + subid + ", ?); end;";
              weblogic.jdbc.common.OracleCallableStatement cstmt =
              (weblogic.jdbc.common.OracleCallableStatement)con.prepareCall(query);
              cstmt.registerOutParameter(1,java.sql.Types.OTHER);
              cstmt.execute();
              rset = cstmt.getResultSet(1);
              When I run this JSP file, the compilation is fine but the result shows
              nothing. That's means I can not get the ResultSet for some reason.
              The working file when I use oracle thin driver (NOT use a connection pool):
              String userid = (String)session.getAttribute("user.id");
              int subid = Integer.parseInt((String)session.getAttribute("sub.id"));
              String query = "begin pkg_select.sel_req_in_001(" + userid +", " +subid
              +", ?); end ";
              CallableStatement cstmt = con.prepareCall(query);
              cstmt.registerOutParameter(1,OracleTypes.CURSOR);
              cstmt.execute();
              ResultSet rset = (ResultSet)cstmt.getObject(1);
              You may notice that I am trying to bind a parameter to an Oracle cursor. Is
              there anything I did wrong in using weblogic API? I just want to let you
              that in the weblogic JSP file, I also tried to use
              weblogic.jdbc.oci.CallableStatement and
              weblogic.jdbc20.oci.CallableStatement instead of
              weblogic.jdbc.common.OracleCallableStatement, but none of them seems work.
              I did check the bea site at
              http://www.weblogic.com/docs51/classdocs/API_joci.html#1080420 for the
              example to use:
              cstmt.registerOutParameter(1,java.sql.Types.OTHER);
              and I think I followed the exact procedure the example did.
              Please help!
              James Lee
              Artificial Intelligence in Medicine, Inc.
              2 Berkeley Street, Suite 403
              Toronto, Ontario M5A 2W3
              Tel: 416-594-9393 ext. 223
              Fax: 416-594-2420
              Email: [email protected]
              

    Joseph
    Thanks for the suggestion about latest version of Weblogic Server.
    "coding best-practices" is not mentioned in the post.
    In order to make servlet application run significantly faster, my servet how to use connection poo is much moreresonable?
    It is reasonable to expect servlet to run significantly faster with connection pooling.
    Is it true that geting and close a connection whenever
    one time database access finished?
    Already answered. Applications use a connection from the pool then return it when finished using the connection.
    Will the solution affect the servlet performance?
    Yes. Already answered. Connection pooling enhances performance by eliminating the costly task of creating database connections for the application.
    Is there any official document to introduce connection pool program?
    For the latest version
    http://download.oracle.com/docs/cd/E17904_01/web.1111/e13726/toc.htm
    http://download.oracle.com/docs/cd/E17904_01/web.1111/e13737/jdbc_datasources.htm#insertedID0

  • How to use BEAN in an oracle forms at client side

    Hello,
    I am new in oracle forms.I am using
    OS-Windows 7.
    Forms [32 Bit] Version 11.1.2.1.0 (Production)
    weblogic 10.3.5
    Now I want know that how to use bean item in an oracle forms.
    Thank You.

    Hello,
    You copy the corresponding JAR file that contains the Java BEan in your <DEVSUITE_HOME>/forms/java folder, then you add its name to the archive tags of the forsweb.cfg file.
    This done, you add a Bean Area to your canvas, set its Implementation Class property with the full class name, then you can communicate with the bean via the GET_CUSTOM_PROPERTY() and SET_CUSTOM_PROPERTY() built-in.
    Google could also give you more information.
    Francois

  • How to use jdbc to connect oracle

    I want use jdbc direct to connect oracle database,and I
    want to use sun Company or oracle Company driver. how can I get driver and how do I write connection string?
    Deeply to wait your reply,thank you!

    The correct format would be jdbc:oracle:thin@server:port:sidTry "jdbc:oracle:thin:@192.168.84.20:1521:ORDB","ysys","fareast"and see what happens.
    Note that you two formats for the DriverManager.getConnection() method; if DriverManager.getConnection(db_url, username, password) doesn't work, try the other call with a fully-qualified database url:DriverManager.getConnection("jdbc:oracle:thin:ysys/[email protected]:1521:ORDB")The SID is the server ID that was given to the instance when the database was installed; default is ORCL, but may have been changed. Port default is 1521, but again, this may be different for your system.

  • How to use thread only for progress bar.....

    Hello,
    I am working on an application which is taking time to load. Now I want to use a progress bar to tell the user of the application that It is taking time to load. How to do it... I read the Java swing tutorial and went through the example. Please tell me what to do. Because I am unfamiliar with Threads and I am not using thread anywhere in my application.

    You are using threads. All Java execution occurs on threads. Write a Java GUI and you're in a multithreaded environment - there's no way out of that.
    If your "application is a complex one" then you would be better advised to understand threads than to try and pretend that they don't exist. For a start, if you don't think you're using threads then you're destined to run in to all sorts of problems as regards an unresponsive GUI, as you're probably now finding out.

  • How to use threads to reconnect a socket to a server in TCP/IP

    I want to know how to reconnect a socket to a server in TCP.
    Actually i wanted to do reconnection whenever a SocketException for broken connection etc. is thrown in my code. This I want to do for a prespecified number of times for reconnection in case of broken connection.When this number decrements to zero the program will exit printing some error message. I was planning to use threads by way of having some Exception Listeners but i am not sure How?
    Any suggestions will be really helpful..
    please help.
    Edited by: danish.ahmed.lnmiit on Jan 28, 2008 2:44 AM

    I want to know how to reconnect a socket to a server in TCP.There is no reconnect operation in TCP. You have to create a new Socket.

  • How to use Java Script in Oracle Forms 10g

    Hello,
    Appreciate if anyone could help me using Java Script in Oracle Forms 10g?
    Thanks
    GM

    Thank you for your reply. I was reading on the metalink that we could use the to call the java script from oracle Forms 10g (Doc ID 265863.1)
    Example:
    WEB.SHOW_DOCUMENT ('javascript:void(window.open("http://www.oracle.com","","location=no,toolbar=no,menubar=no,status=no,"));self.close()','_blank');
    I tried it but it did not open the any window as it claims. Am I missing anything? Is there any IE related setting which I need to modify for the above to work?
    Regards
    GM

  • How to use decode function in oracle apex 3.2.1

    Hello Friends,
    how to use decode
    var_decode := 'decode'||'('|| var1 ||','|| -800000000000000||','||'.A'||','||
    appreciate your help.
    regards/kumar
    Edited by: kumar73 on Apr 23, 2010 12:25 PM
    Edited by: kumar73 on Apr 23, 2010 12:27 PM

    Hey just on this particular point, there's a handy PL/SQL method for escaping quotation characters which may reduce the complexity of the string.
    For example, if I had a string:
    I can't understand why quoting my 'quote' characters never seems to "work"!and I wanted to pass that into a variable, I could do this:
    vc_foo:= 'I can''t understand why my ''quote'' characters never seems to "work"!';or I could use the q function, whereby you enclose your string within a quote delimiter of your choice, like so:
    vc_foo:= q'^I can't understand why quoting my 'quote' characters never seems to "work"!^';
    note: I used the caret (^) character by convention but any valid character will do
    ...all of which leaves your original string more or less unadulterated.
    I find this particularly useful for generating dynamic SQL and dynamic PL/SQL, as it leave the query looking a tad more readable, although if you are chaining together multiple strings with double-pipes, it can make it a little muddier. I find it particularly useful if I'm going to deal with string data from, for example, a field with Irish-derived surnames such as "O'Reilly"...
    Give it a go!

  • How to use "WHOSE" concept in Javascript

    Hi Scripters,
    I have one question about the difference in between Applescript & Javascript?
    My question is about this "WHOSE" concept in Javascript when compared as of to Applescript usage which made it very simple.
    The below mentioned Applescript code will select the entire page items in page 1 of document 1 whoever omiting those items whose geometric bounds are less than 0.
    tell application "Adobe InDesign CS4"
         set selection to (every page item of page 1 of document 1 whose (item 1 of geometric bounds is not less than 0))
    end tell
    Here in this above mentioned code I have used "WHOSE" concept to omit some specific page items, however using javascript it is not possible to use this WHOSE concept to simply the Javscript code.
    thanks

    Unfortunately lack of a nice filtering syntax is indeed one of the many flaws of the JavaScript language.
    Generally speaking we just write this in an ugly way with a for loop:
    var i, p, page=app.document[0].pages[0], s=[];
    for (i=0; i<page.pageitems.length; i++) {
      p = page.pageitems[i];
      if (!(p.geometricBounds[1] < 0)) {
        s.push(p);
    app.select(s);
    Some people like to use Marc Autret's whose and findItems functions though: see http://forums.adobe.com/message/3070983#3070983.

Maybe you are looking for

  • Mac Mini color question - no crisp white?

    I just bought my Mac Mini and plugged it into a Dell monitor with the VGA cable. How do I get a crisp white on active windows? Everything is sorta purple . . .

  • How to throw bundled exceptions thrown by checkErrors()

    Hi, I call pl/sql to do update, and call checkErrors() , the code looks like following, but it doesn't display read friendly message on the screen. What is the right way to throw bundled exception from checkErrors() method? try{ xxg2cGoalPk.startWf (

  • Order report for all components & services with plan/actual price

    Dear all Hi, I want to see a report which should give me the all the details of components & services cunsumed with their paln& actual costs for a production order, please suggest/help. Thanks in advance.

  • Presenter hung up in Preview mode

    I have a Presenter 9 project that no longer works in preview mode.  It did, and now it just hangs and keeps spinning.  When I publish it, the same thing happens, it just spins.  However, when I upload to a cloud server, it works, but none of the vide

  • CHANGE VOIP PHONE

    I have to change my old PHILIPS VOIP PHONE 321 with new one because in the moment I change Windows operative sistem it stopped to wark. Someone could suggest a good substitute? Thank You.