Performance on connection pooling

Hi there,
Does solution for CR099363 found in link http://e-docs.bea.com/wls/docs70/notes/resolved.html#1295792 work for WL6.1 platform by setting parameter secondsToTrustAnIdlePoolConnection to a positive integer? Or does this only work on WL7.0 platform ?
*Sorry if this is the wrong forum to address such question.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Ravindran Kanniah wrote:
Hi there,
Does solution for CR099363 found in link http://e-docs.bea.com/wls/docs70/notes/resolved.html#1295792
work for WL6.1 platform by setting parameter secondsToTrustAnIdlePoolConnection to a positive integer?
Or does this only work on WL7.0 platform ?
*Sorry if this is the wrong forum to address such question.This is exactly the place. No, that property is new, for the latest versions of
7.0 and 8.1.
If you can't run test-on-reserve, the second best thing is to
run refresh. You should ask support for a patch for this CR
for your version of 6.1, or simply upgrade. The CR has been
fixed since 6.1sp5. We're now at sp7.
Joe

Similar Messages

  • Javamail performance and connection pooling

    Dear Javamail users and programmers,
    I am new to javamail. We are working on a commercial web mail project and using Javamail to connect with an IMAP/SMTP clustered server group to read and write mails.
    Our application will have 400000 concurrent users in the system and an Approximate , we will have 200 servers (Glassfish 3 ) and each server will have 2000 active users at time.
    Now my problem! At the moment, we are opening the store each time we read or store mails for each user. I doubt this will have performance issues in production.
    Does anyone have experience using Javamail in this dimension?
    I read the connection pooling mechanism in the package com.sun.mail.imap Descriptio. If i understood correctly, this will require at-least one dedicated connection per user to the server . I think, that will be too many connections at a time for any Imap server cluster system.
    Is there any other method of doing connection pooling?
    Btw in which scenario I should increase the mail.imap.connectionpoolsize to more than one? I assume, i only need to increase this parameter if i want to keep more than one folder open for a particular user at time, isn't it?
    What will be the best approach which suite to our application?
    Thank you very much for any help.
    With regards,
    Alvin Antony

    Connection pooling isn't likely to help in your scenario. IMAP connection pooling does not allow multiple
    users to use the same connection to the server. Unless you want to map all of your web mail users to a
    single IMAP user, connection pooling won't help you.
    The general issue of managing sessions and connections was discussed briefly in this other thread:
    [http://forums.sun.com/thread.jspa?threadID=5423307|http://forums.sun.com/thread.jspa?threadID=5423307]
    I suspect you're going to need to do some experiments to determine the best approach.

  • ABAP MDM Connection Pool concept? Slow Performance in call

    Hi,
    I'm playing around with the MDM ABAP API, and I found the performance a bit disappointing.
    I followed the guide "How To identify master data records using SAP MDM 5.5 ABAP API's" and wrote a test program.
    The program makes a connection, triggers an MDM query, and disconnects.
        CREATE OBJECT api
          EXPORTING
            iv_log_object_name = logical_object_name.
        api->mo_accessor->connect( language ).
    * Query parameters
        ls_query-parameter_code = 'Material_Number'.
        ls_query-operator = 'CS'.
        ls_query-dimension_type = 1.
        ls_query-constraint_type = 8.
        ls_value = '70'.
        GET REFERENCE OF ls_value INTO ls_query-value_low.
        APPEND ls_query TO lt_query.
        CLEAR ls_query.
    * Search
        CALL METHOD api->mo_core_service->query
          EXPORTING
            iv_object_type_code = 'Products'
            it_query            = lt_query
            iv_hits_max         = 10
          IMPORTING
            et_result_set       = lt_result_set.
    Connection is really fast (a split second)
    First time triggered 'query' method took about 30-50 seconds.
    Second time triggering 'query' method took a split second.
    Further to my investigation, I found out the most expensive code lies in
    CL_MDM_PROVIDER_SP04_PL03->IF_MDM_CORE_SERVICES~QUERY
    *--- load field meta data ---*
      IF mt_mdm_field_meta_data IS INITIAL
      OR mt_field_meta_data     IS INITIAL.
        CALL METHOD me->_load_field_information.
      ENDIF.
    Within this method loadfield_information, it rips all the table and structure information
    from MDM, and ALL language texts and so on.
    It has many loops, and within the loops querying MDM for more information.
    Is there anyway to speed this up?
    Why aren't these data cached? (They don't change so often in a production environment)
    I also found a shared memory class CL_MDM_METADATA_ACCESS but it is not used anywhere.
    No shared memory area relevant is delivered by SAP as well.
    Any ideas?
    Cheers,
    Michael.

    Hi Michael,
    you're welcome.
    I'm not sure how the Connection Pooling to MDM is really done by the ABAP APIs as I'm unfortunately not an API developer but just use the API for my programms.
    What I learned during this process is that the repository meta data (meaning table descriptions, and so on) have to be loaded at least once for each connection. This makes sense because a repository can always be changed manually by any user. And I don't think that it would be faster to hold the meta data persistent in the ABAP layer because then you would need to compare the ABAP available meta information with the current meta information of the repository. This could take even longer.
    I've solved this "issue" in a way that I really rely on the connection because a single connection is very stable. So I call the "CONNECT" only once in the very beginning, run through my coding and the very last step is the "DISCONNECT". As long as a connection is available, the meta data is cached in the API layer (at least this is the case for SP05).
    BR Michael

  • Oracle: slow performance with SELECT using ojdbc14 and connection pooling

    Hello,
    i'm working hard the last days to solve a performance problem with our customer using a oracle 10g database. For testing I used our oracle 9.2.0.1.0 database which shows the same symptoms. All doing solved nothing: the performance while using this oracle is much slower than other databases. This result I cannot trust and so I need some advice. What is missing to improve the performance on the java side?
    The webapplication I use runs fast on MySQL 4.x and SQLServer 2000, but on the above mentioned Oracle it was always 4 times slower. The webapplication uses a lot of simple SELECT-Statements without complicated joins and so on (because it should run on many different databases). Doing some days of creating tests within this webapplication, I was not able to find any entrance point for a change. All databases server I'm using, having only the default configurations after a common installation.
    To reduce the complexity I wrote a simple java application with connection pooling using only the latest libraries from apache-commons(dbcp, pool), and the latest ojdbc14 for oracle 9.2.
    First the results than the code: MySQL needed less than 1000 millisecond, SQLServer around 1000 milliseconds and Oracle over 2000 milliseconds. I stopped pooling and the results are for Oracle even worse: over 18000 milliseconds (mysql:2500, sqlserver:4100).
    I changed the classes for Oracle and used the class oracle.jdbc.pool.OracleConnectionCacheImpl from the ojdbc14-library. No difference (around 100 milliseconds more or less).
    The only Select-Statement works on this table, which has one index on HICTGID.
    It contains 259 entrances.:
    CREATE TABLE HIERARCHYCATEGORY (
      HICTGID                 NUMBER (19)   NOT NULL,
      HICTGLEVEL              NUMBER (10)   NOT NULL,
      HICTGEXTID              NUMBER (19)   NOT NULL,
      HICTGEXTPARENTID        NUMBER (19)   NOT NULL,
      HICTGNAME               VARCHAR2(255) NOT NULL
    );The application simply loops through this table using
    SELECT Hictgid, Hictgname FROM HIERARCHYCATEGORY WHERE HICTGID = ?, but I always open a connection before this query and closes this connection afterwards. So I use the pooling as much as possible. That's all SQL I'm using.
        protected static DataSource setupDataSource(String sDriver, String sUrl, String sUser, String sPwd) throws SQLException {
            BasicDataSource ds = new BasicDataSource();
            ds.setDriverClassName(sDriver);
            ds.setUsername(sUser);
            ds.setPassword(sPwd);
            ds.setUrl(sUrl);
            // The maximum number of active connections:
            ds.setMaxActive(3);
            // The maximum number of active connections that can remain idle in the pool,
            // without extra ones being released, or zero for no limit:
            ds.setMaxIdle(3);
            // The maximum number of milliseconds that the pool will wait (when there are no available connections)
            // for a connection to be returned before throwing an exception, or -1 to wait indefinitely:
            ds.setMaxWait(3000);    
            return ds;
        }I can switch by using external properties between three databases (oracle, mysql and sqlserver) and if I want I can switch pooling off. And all actions I'm interested are logged by Log4J.
        public static Connection getConnection() throws SQLException {
            Connection result = null;
            String sJdbcDriver = m_oJbProp.getString("jdbcDriver");
            String sJdbcUrl = m_oJbProp.getString("databaseConnection");
            String sJdbcUser = m_oJbProp.getString("dbUsername");
            String sJdbcPwd = m_oJbProp.getString("dbPassword");
                try {
                    if (m_oJbProp.getString("useConnectionPooling").equals("true")) {
                         if (log.isDebugEnabled()) {
                              log.debug("ConnectionPooling true");
                        if(null == m_ds) {
                            m_ds = setupDataSource(sJdbcDriver,sJdbcUrl,sJdbcUser,sJdbcPwd);
                              if (log.isDebugEnabled()) {
                                   log.debug("DataSource created");
                        result = m_ds.getConnection();
                    } else {
                        // No connection pooling:
                         if (log.isDebugEnabled()) {
                              log.debug("ConnectionPooling false");
                        try {
                            Class.forName(sJdbcDriver);
                            result = DriverManager.getConnection(sJdbcUrl, sJdbcUser, sJdbcPwd);
                        } catch (ClassNotFoundException cnf) {
                            log.error("Exception: Class Not Found. ", cnf);
                            System.exit(0);
    (.. ErrorHandling ...)Here is the code fragment which is doing the work:
                     StringBuffer sb = new StringBuffer();
                while (lNextBottom <= lNextCeiling) {
                     con = getConnection();
                     innerSelStmt = con.prepareStatement("SELECT Hictgid, Hictgname FROM HIERARCHYCATEGORY WHERE HICTGID = ?");
                     innerSelStmt.setLong(1, lNextBottom);
                     rsInner = innerSelStmt.executeQuery();
                     if ((rsInner != null) && (rsInner.next())) {
                         sb.append(rsInner.getLong(1) + ", " + rsInner.getString(2) + "\r");
                          if (log.isDebugEnabled()) {
                               log.debug("Inner Statement: " + rsInner.getLong(1) + "\r");
                     rsInner.close();
                     con.close();
                     lNextBottom++;
                 if (log.isInfoEnabled()) {
                      log.info("\rResult values: Hictgid, Hictgname \r");
                      log.info(sb.toString());
                 }and the main method:
        public static void main(String[] args) {
            try {
                 long lStartTime = System.currentTimeMillis();
                 JdbcBasic oJb = new JdbcBasic();
                 boolean bSuccess = false;
                 bSuccess = oJb.getHierarchycategories();
                 if (log.isInfoEnabled()) {
                      log.info("Running time: " + (System.currentTimeMillis() - lStartTime));
                 if (null != m_ds) {
                     printDataSourceStats(m_ds);
                      shutdownDataSource(m_ds);
                      if (log.isInfoEnabled()) {
                           log.info("Datasource closed.");
             } catch (SQLException sqe) {
                  log.error("SQLException within  main-method", sqe);
        }My database values are
    databaseConnection=jdbc:oracle:thin:@SERVERDB:1521:ora
    jdbcDriver=oracle.jdbc.driver.OracleDriver
    databaseConnection=jdbc:jtds:sqlserver://SERVERDB:1433/testdb
    jdbcDriver=net.sourceforge.jtds.jdbc.Driver
    databaseConnection=jdbc:mysql://localhost/testdb
    jdbcDriver=com.mysql.jdbc.Driver
    dbUsername=testusr
    dbPassword=testpwdThanks for your reading and maybe for your help.

    A few comments.
    There is of course another difference between your test cases then just the database. There is also the driver. And I suspect that in at least the case with the jtds driver it is helping you along where you are doing something silly and the Oracle driver is not.
    Before I explain the next part I would say the speed differences between MS-SQL and MySQL look about right I think you are aiming here for MS-SQL level performance not MySQL. (For a bunch of reasons MySQL is inherently faster but there are MANY drawbacks as well which have been well discussed on previous threads)
    Here is where I believe your problem lies
    while (lNextBottom <= lNextCeiling) {
                     con = getConnection();
                     innerSelStmt = con.prepareStatement("SELECT Hictgid, Hictgname FROM HIERARCHYCATEGORY WHERE HICTGID = ?");
                     innerSelStmt.setLong(1, lNextBottom);
                     rsInner = innerSelStmt.executeQuery();
                     if ((rsInner != null) && (rsInner.next())) {
                         sb.append(rsInner.getLong(1) + ", " + rsInner.getString(2) + "\r");
                          if (log.isDebugEnabled()) {
                               log.debug("Inner Statement: " + rsInner.getLong(1) + "\r");
                     rsInner.close();
                     con.close();
                     lNextBottom++;
                 }There at least four things that are wrong with above.
    1) Why are you preparing the statement INSIDE the loop. Let us for a moment say that the loop will spin 100 times. That means that you are preparing the same statement 100 times. This is bad. It is also very relevant because for example the Jtds driver is going to be caching the prepared statements you make so that actually while you try and prepare it 100 times it only actually does it once... but in Oracle I don't know what it is doing for sure but if it is preparing on each pass well than that bit of it is going take 100 times longer then it should.
    2) You are opening and closing the connection on each pass through the loop... also a terrible idea. You need to fix this first so that you can repeatedly use the same prepared statement.
    3) Why are you looping in the first place? More on this later.
    4) Where do you close the PreparedStatement? It doesn't look like you do.
    Okay so for starters your loop should look a lot more like this...
    code]
    con = getConnection();
    innerSelStmt = con.prepareStatement("SELECT Hictgid, Hictgname FROM HIERARCHYCATEGORY WHERE HICTGID = ?");
    while (lNextBottom <= lNextCeiling) {
    innerSelStmt.setLong(1, lNextBottom);
    rsInner = innerSelStmt.executeQuery();
    if ((rsInner != null) && (rsInner.next())) {
    sb.append(rsInner.getLong(1) + ", " + rsInner.getString(2) + "\r");
    rsInner.close();
    lNextBottom++;
    innerSelStmt.close();
    con.close();
    I think the code above (and you can put your debug stuff back if you want) which uses ONE connection and ONE prepared Statement will improve your performance dramatically.
    The other question though I would as is why in the hell you are doing 100 or whatever number of queries anyway. This can be done all in ONE query which again will improve performance.
    Your query and such should look like this I think.
    String sql = "SELECT Hictgid, Hictgname FROM HIERARCHYCATEGORY WHERE HICTGID >=? AND HICTGID<=?";
    PreparedStatement ps = conn.prepareStatement(sql);
    ps.setLong(1,lNextBottom );
    ps.setLong(2,lNextCeiling);
    ResultSet rs = ps.executeQuery();
    while(rs.next()){
      // your appending to string buffer code goes here
    }and I can't understand why you're not doing that in the first place.

  • performance CONNECTION POOLING BC4J

    When Application was used by 80 users it work wery slow I think problem in CONNECTION POOLING
    private Map m_pools;
    public static final String[] APP_MODULE_NAMES = {
    "StaffAppModule", "DossierAppModule", "ProcedureAppModule",
    "ReportAppModule"
    public static final String[] APP_MODULE_CONFIGURATION_NAMES = {
    "StaffAppModuleLocal", "DossierAppModuleLocal",
    "ProcedureAppModuleLocal", "ReportAppModuleLocal"
    ******* initialize pool START ********
    m_pools = new HashMap();
    PoolMgr mgr = PoolMgr.getInstance();
    for (int i = 0; i < APP_MODULE_NAMES.length; i++) {
    String poolName = APP_MODULE_NAMES[i] + "Pool";
    ApplicationPool pool = mgr.findPool(poolName, PACKAGE,
    APP_MODULE_CONFIGURATION_NAMES, null);
    if (pool == null) {
    pool = mgr.createPool(poolName, PACKAGE,
    APP_MODULE_CONFIGURATION_NAMES[i], null);
    m_pools.put(APP_MODULE_NAMES[i], pool);
    ******* initialize pool END ********
    ****** getAppModule START ***************
    ApplicationPool pool = (ApplicationPool) m_pools.get(name);
    log.debug("{ -- BusinessService ");
    if (pool == null) {
    return null;
    SessionCookie sesCookie = pool.createSessionCookie(name,
    IdFactory.createID(), null);
    ApplicationModuleImpl appModule;
    synchronized (this) {
    log.debug("} -- synchronized ");
    appModule = (ApplicationModuleImpl) sesCookie.useApplicationModule();
    System.out.println("^^^ -- "+appModule.getClass());
    appModule.setProperty(APP_MODULE_PROPERTY_SESSION_COOKIE, sesCookie);
    return appModule;
    ****** getAppModule START ***************
    <<< Can you help me performance CONNECTION POOLING ??? >>>

    A Exception is thrown.

  • Connection pool performance

     

    Barry,
    You should post this to Performance newsgroups (please dont cross post)
    This actually depends on how many execute threads you have - if you have 101
    clients / applications requesting connections concurrently, only the once
    that can get a Execute Thread will actually be able to use a connection and
    complete. Rest of the application requests will be queued up.
    sree
    "Barry Myles" <[email protected]> wrote in message
    news:40b47cdd$1@mktnews1...
    >
    Hi there I wonder if anyone could shine some light on the subject ofconnection
    pooling configuration for me
    In the connection pool If I have
    initial capacity = 50
    Maximum Capacity = 100
    and then get a period with 101 concurrent applications all wanting towrite information
    to the backend database at the same time, what happens to that oneapplication?
    is it forced to wait until a thread becomes available, does it just blockuntil
    this happens or does it give up right away? (if it does what exception
    is generated if any?)
    Also I'm trying to pin down some performance issues with the use ofconnection
    pooling, can someone guide me as to what a typically under performingconfiguration
    for a connection pool would be.

  • Low Application Performance due to AM connection pooling configuration

    Hi All,
    My application performance is too slow due to default App module connection pooling parameters. I started exploring on these parameters in oracle documentation and was stopped due to some doubts.
    The below link is actually the one from which I'm doing the configuration.
    http://docs.oracle.com/cd/E21764_01/web.1111/b31974/bcampool.htm
    1. I want to know what value should be in Weblogic server --> Maximum capacity (I think they confused me a little saying it can be equal to AM's Maximum Pool Size, Maximum Available Size, Minimum Available Size).
    2. Then the AM's Initial pool size should be equal to the weblogic's Initial Capacity. I have 10 AM, if I'm setting 100 in each AM, then the corresponding weblogic's initial capacity should be equal to 100 or 100 X 10. Please clarify this.
    Thanks.

    You post give no information which connects the pooling parameter to 'low' performance. Have you checked where all the time is consumed? Which method or part of the application consumes the most time. Before you can't answer these questions you can't link the problem to am pooling.
    Here are some pointers
    http://andrejusb.blogspot.de/2011/10/experimenting-with-adf-bc-application.html
    http://andrejusb.blogspot.de/2012/01/adf-performance-marathon-22-hours.html
    and there are some more articles available on Andrejus's blog...
    Timo

  • RFC_FAILURE affects Connection Pool

    Using VB.NET (2003) with .Net Connector 2.0.
    An intermittent problem causes a RFC Call to fail, and an exception is raised in the .NET code. The Exception message is:
         See RFC trace file or SAP system log for more details
    The Trace file shows:
    ERROR file opened at 20051115 131423 GMT Standard
         T, SAP-REL 640,0,78 RFC-VER 3 759904 MT-SL
    <b>T:2844 Could not send rfc container 0x130
    T:2844 <* RfcCall [1] : returns 1:RFC_FAILURE
    T:2844 <* RfcCallReceive [1] : returns 1:RFC_FAILURE
    >TS> Tue Nov 15 13:14:24 2005
    T:2844 <* RfcCleanupContext [1] : returns
              18:RFC_INVALID_HANDLE
    T:2844 <* RfcCleanupContext [1] : returns
              18:RFC_INVALID_HANDLE</b>
    This error adversely affects the Connection Pool – as calls to other RFCs are now prone to similar intermittent errors…
    Is there any way to prevent the problem causing problems with Connection Pool ?
    Is there any way of removing a “faulty” connection from the pool ? (NB Close and Dispose on the connection does not help)

    The application is a Windows service - so I don't want to lose any connections. I assume that closing the connection (and not returning it) will affect the number of available connections in the pool(?).
    I'm using async. RFC call, and the problem is detected in the callback function when the EndRFCCall is performed.
    Original code:
    Public Sub Execute_RFC(ByVal parameters as string())
    ' Assign SAP Connection to RFC Proxy
    sapRFCProxy.Connection = SAPConnectionPool.GetConnectionFromPool(<i>ConnectString</i>)
    Call the SAP RFC - Asynchronously
    arAsyncResult = m_sapRFCProxy.BeginRFCCall( params..., AddressOf RFC_CallBack, objAsyncState)
    End Sub
    Private Sub RFC_CallBack(ByVal ar As IAsyncResult)
    Try
        ' Retrieve the SAP RFC Response...
        Call sapRFCProxy.EndRFCCall(ar, <i>param1, param2, etc...</i>)
    Catch ex As Exception
        ' Log the Error...
    End Try
    ' Return the Connection
    Call SAPConnections.ReturnConnection(sapRFCProxy.Connection)
    End Sub
    I have changed the code as suggest so that the connection is closed, disposed but <u>not</u> returned. This cleared the RFC_INVALID_HANDLE errors, but the main problem of a corrupted connection persists.
    Diagnostics produced by the amended code:
    <u>Trace File (Info):</u>
    2005-11-16 11:55:46Z     Warning: RfcCleanupContext failed. Closing connection
    <u>dev_RFC.trc</u>
    ERROR file opened at 20051116 115546 GMT Standard T, SAP-REL 640,0,78 RFC-VER 3 759904 MT-SL
    T:3068 ======> CPIC-CALL: 'CMSEND'
    ERROR       program state check for conversation 99610798
    TIME        Wed Nov 16 11:55:46 2005
    RELEASE     640
    COMPONENT   CPIC (TCP/IP)
    VERSION     3
    RC          471
    MODULE      r3cpic.c
    LINE        2576
    DETAIL      called function STSEND in state state=BUFFER_DATA2
    COUNTER     1
    T:3068 <* RfcCall [20] : returns 1:RFC_FAILURE
    T:3068 <* RfcCallReceive [20] : returns 1:RFC_FAILURE
    T:3068 <* RfcCleanupContext [20] : returns 1:RFC_FAILURE
    Even with the change to the code, a call to a reliable RFC will now fail <u>intermittently</u> with:
    T:2876 Could not send rfc container 0x130
    T:2876 <* RfcCall [24] : returns 1:RFC_FAILURE
    T:2876 <* RfcCallReceive [24] : returns 1:RFC_FAILURE
    Thanks

  • Doubts concerning External Connection Pool

    A few questions:
    1. How can I set up an external connection pool with toplink? or in another words, assuming that I have successfully configured a connection pool (and a datasource) on my weblogic app-server, how do I configure Toplink to use the same?
    2. I am trying to achieve the above (refer point 1), by defining my custom connector (by extending TOPLink.Public.Sessions.DefaultConnector). The custom connector provides connections using the dataSource.getConnection(). Now, the question is
    - Where will the pooling happen in this case? i.e. Will Toplink use its own connection pool (populate its own connection pool with container managed data source), and issue connections (container managed) from there or will it make use of the container managed pooling (and ask for connections from the container managed pool, as and when required)? The subtle difference being, weblogic will not be able to validate a connection before issue in the former case.
    3. This question is similar to point 2, but talks in terms of a practical example. Assuming that if I am using the custom connector successfully in my code, then if I pull out the network cord and reconnect again, I expect the container to provide me with a valid connection (as weblogic can be configured to perform a validity check on a connection before issuing). I am getting a 'connection reset by peer' error in my application (indicating that either the container fails to provide a valid connection, or toplink does not use the container managed pool effectively). I guess, Toplink still uses its own pool but this time it is pooling container managed dataSources. Since the connections are issued from Toplink and not container, here is no validation/reconnection happening for the connection, before issue. Please comment if I am thinking in the right direction or not. If not, how you can explain the above failure?
    4. My aim is to utilise the container's connection pool, and Toplink's ability to perform the rest of the things (including transactions). Is that possible?

    Vikas,
    TopLink can easily be configured to use the external connection pool of an server. This can be accomplished with API but more commonly using the sessions.xml configuration file for the SessionManager. In the product we ship examples for WLS that make use of data sources configured in the server. The portion of the sessions.XML file in question is:
              <login>
                   <user-name>weblogic</user-name>
                   <password>weblogic</password>
                   <datasource>java:comp/env/jdbc/ejbJTSDataSource</datasource>
                   <non-jts-datasource>java:comp/env/jdbc/ejbNonJTSDataSource</non-jts-datasource>
                   <uses-external-transaction-controller>true</uses-external-transaction-controller>
                   <uses-external-connection-pool>true</uses-external-connection-pool>
              </login>
              <external-transaction-controller-class>oracle.toplink.jts.wls.WebLogicJTSExternalTransactionController</external-transaction-controller-class>
    This sets TopLink up with both data source access to the JTA and non-JTA connection pools. The full example also includes a domain where the data source is configured.
    When TopLink is using the connection pool of the server (external connection pooling) it will not pool its own connections. TopLink will request a connection from the pool each time one is required and release it back when done. This leaves the server responsible for the number of connections available and also for supporting database re-connection.
    Doug

  • Connection pool SAPPool is exhausted

    hi..
    I am getting this following error in my application
    om.sap.mw.jco.JCO$Exception: (106) JCO_ERROR_RESOURCE: Connection pool SAPPool is exhausted. The current pool size limit (max connections) is 50 connections.
    at com.sap.mw.jco.JCO$Pool.getClient(JCO.java:5366)
    at com.sap.mw.jco.JCO$PoolManager.getClient(JCO.java:6324)
    at com.sap.mw.jco.JCO$PoolManager.getClient(JCO.java:6269)
    at com.sap.mw.jco.JCO.getClient(JCO.java:8536)
    at com.tcs.interfaces.sapConnectionUtility.JCOClient_Connection.connectToSAP(JCOClient_Connection.java:21)
    at com.tcs.interfaces.wifi.outbound.DisablingWifi.disableWifi(DisablingWifi.java:110)
    at com.tcs.interfaces.jco.StartJob.run(StartJob.java:68)
    at java.lang.Thread.run(Thread.java:636)
    The front end PMS (Property Management System) - SAP Customised product is unable to connect with the JCo Middleware server because of the above mentioned error.
    The thing is that in java application I have set the maximum pool size (SAPPool) to 50.
    Still we are facing this error twice a week.
    Is there any kind of setting in SAP server side where JCo RFC connection limits can be set ?
    Can any pls help in this regard.

    After reading the url that you have pointed out: i have a question our from my
    curiosity:
    is there any overhead that does have if connection pool is very high say 100 and
    the required is say like 70.
    Thank You very much.
    Rob Woollen <[email protected]> wrote:
    I usually recommend that for production systems. There's some info here:
    http://edocs.bea.com/wls/docs81/perform/WLSTuning.html#1123237
    -- Rob
    Mike wrote:
    Thanks Rob,
    is it a good idea to make InitialCapacity equal to the MaxCapacity?
    say making InitialCapacity = MaxCapacity = 50
    while thread count is also = 50
    Rob Woollen <[email protected]> wrote:
    Typically thread count = connection pool size is a good starting point.
    You might want thread count > connection pool size if you want to
    throttle work to the database, or if you have some threads which will
    never require a db connection.
    You might want connection pool size > thread count if remote clients
    are
    starting transactions or reserving connections. Another case is if
    a
    single thread starts multiple transactions.
    -- Rob
    Mike wrote:
    what is the relationship between thread count and connection pool
    Eg, if i have a thread count of =50
    and connection pool = 36
    how does these 2 parameters work together ?
    is there any equation between the 2 ?
    --Mike

  • Difference between using app server connection pooling and using the driver

    Hi all,
    How to get connection pooling with out application server and tomcat also?
    What is the difference between using app server connection pooling and using the driver supported connection pooling?
    Regards,
    Murali

    maybe the performance of App server pool is better than the JDBC pool,
    for you don't know wether the implementation of the JDBC interface is good or bad.

  • Connection pool and Connection factory difference?

    Hi,
    Can someone clarify the difference between connection pool and connection factory.
    I know connection pool is some thing like a pool of database connection manitained at one place so that an application or client can use it when it requires.
    Then wat exactly is connection factory..say in 10g we always put a connection factory name in all adapters and acces the data sources like DB ,FTP,AQ ..etc
    can someone clarify??
    regards,

    To conserve system resources and to improve the performance of transactional applications, WebLogic allows you to define a pool of client connections (generally database but may be a FTP,FILE etc. as well)
    A Connection Factory object encapsulates a set of connection configuration parameters that has been defined by an administrator. A client uses it to create a connection with a service provider (generally JMS).
    Regards,
    Anuj

  • SOA 11.1.1.3.0 - Connection Pool has been suspended during weak load

    Hi,
    I have a SCA with different BPEL, all uses several db adapters.
    Each db adapter has retry count set to 1.
    Each bpel has the following properties:
        <property name="bpel.config.transaction" many="false">required</property>
        <property name="bpel.config.inMemoryOptimization">true</property>
        <property name="bpel.config.completionPersistPolicy">off</property>When I do a simple load testing (with 10 concurrent threads invoking the same SCA webservice) my connection pool is suspended.
    Here is my connection pool configuration:
    <?xml version='1.0' encoding='UTF-8'?>
    <jdbc-data-source xmlns="http://xmlns.oracle.com/weblogic/jdbc-data-source" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/jdbc-data-source http://xmlns.oracle.com/weblogic/jdbc-data-source/1.0/jdbc-data-source.xsd">
      <name>DEV__DB</name>
      <jdbc-driver-params>
        <url>jdbc:oracle:thin:@10.17.5.50:1521:orcl</url>
        <driver-name>oracle.jdbc.xa.client.OracleXADataSource</driver-name>
        <properties>
          <property>
            <name>user</name>
            <value>DEV_</value>
          </property>
        </properties>
        <password-encrypted>{AES}UiaJC9d4Fl7jWHkcrYttu5E+wpOB4Jw1QKwTSA0ARtE=</password-encrypted>
        <use-xa-data-source-interface>true</use-xa-data-source-interface>
      </jdbc-driver-params>
      <jdbc-connection-pool-params>
        <initial-capacity>0</initial-capacity>
        <max-capacity>100</max-capacity>
        <capacity-increment>1</capacity-increment>
        <shrink-frequency-seconds>900</shrink-frequency-seconds>
        <highest-num-waiters>2147483647</highest-num-waiters>
        <connection-creation-retry-frequency-seconds>10</connection-creation-retry-frequency-seconds>
        <connection-reserve-timeout-seconds>10</connection-reserve-timeout-seconds>
        <test-frequency-seconds>300</test-frequency-seconds>
        <test-connections-on-reserve>true</test-connections-on-reserve>
        <ignore-in-use-connections-enabled>true</ignore-in-use-connections-enabled>
        <inactive-connection-timeout-seconds>0</inactive-connection-timeout-seconds>
        <test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
        <login-delay-seconds>0</login-delay-seconds>
        <statement-cache-size>100</statement-cache-size>
        <statement-cache-type>LRU</statement-cache-type>
        <remove-infected-connections>true</remove-infected-connections>
        <seconds-to-trust-an-idle-pool-connection>0</seconds-to-trust-an-idle-pool-connection>
        <statement-timeout>-1</statement-timeout>
        <jdbc-xa-debug-level>10</jdbc-xa-debug-level>
        <pinned-to-thread>false</pinned-to-thread>
      </jdbc-connection-pool-params>
      <jdbc-data-source-params>
        <jndi-name>jdbc/soSvilDB</jndi-name>
        <global-transactions-protocol>TwoPhaseCommit</global-transactions-protocol>
      </jdbc-data-source-params>
      <jdbc-xa-params>
        <keep-xa-conn-till-tx-complete>true</keep-xa-conn-till-tx-complete>
        <need-tx-ctx-on-close>false</need-tx-ctx-on-close>
        <xa-end-only-once>false</xa-end-only-once>
        <keep-logical-conn-open-on-release>false</keep-logical-conn-open-on-release>
        <resource-health-monitoring>true</resource-health-monitoring>
        <recover-only-once>false</recover-only-once>
        <xa-set-transaction-timeout>false</xa-set-transaction-timeout>
        <xa-transaction-timeout>0</xa-transaction-timeout>
        <rollback-local-tx-upon-conn-close>false</rollback-local-tx-upon-conn-close>
        <xa-retry-duration-seconds>300</xa-retry-duration-seconds>
        <xa-retry-interval-seconds>60</xa-retry-interval-seconds>
      </jdbc-xa-params>
    </jdbc-data-source>Here is the error:
    [2011-04-22T12:36:52.026+02:00] [OJDL] [NOTIFICATION:16] [ODL-52001] [oracle.core.ojdl.FileLogWriter] [org: Oracle] [host: soa.linux55.reply] [nwaddr: 10.17.5.69] [tid: [ACTIVE].ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oracle] deleting log file: soa_server1-diagnostic-179.log, size: 10485438 bytes
    [2011-04-22T12:36:51.985+02:00] [soa_server1] [ERROR] [] [oracle.soa.mediator.serviceEngine] [tid: [ACTIVE].ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 0000Ixwm9CqEcLH5yvs1yW1DgLRV000081,0] [WEBSERVICE_PORT.name: AlarmsRetrieverPortType_pt] [APP: soa-infra] [composite_name: AlarmRetreiverProject] [component_name: AlarmRetrieverMediator] [component_instance_id: 6E8716B06CCC11E0AF65F721A176C6C2] [J2EE_MODULE.name: fabric] [dcid: 0f2f96dd491b9522:5032bc97:12f7cbc8b1d:-7ffc-0000000000001701] [WEBSERVICE.name: AlarmRetrieverMediator_ep] [J2EE_APP.name: soa-infra] [composite_instance_id: 250014] Got an exception: oracle.fabric.common.FabricInvocationException: faultName: {{http://schemas.oracle.com/bpel/extension}remoteFault}[[
    parts: {{
    summary=<summary>Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'GetTrainAlarms_dba' failed due to: Pure SQL Exception.
    Pure SQL Execute of select aa.* from <OMITTED>
    Caused by java.sql.SQLException: Internal error: Cannot obtain XAConnection weblogic.common.resourcepool.ResourceDisabledException: Pool DEV__DB is Suspended, cannot allocate resources to applications..
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:357)
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:440)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:317)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:93)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:61)
         at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1670)
         at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1438)
         at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:439)
         at weblogic.jdbc.jta.DataSource.connect(DataSource.java:396)
         at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:355)
         at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:126)
         at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:94)
         at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
         at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:327)
         at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:295)
         at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.reconnect(DatasourceAccessor.java:558)
         at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.reconnect(DatabaseAccessor.java:1437)
         at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.incrementCallCount(DatasourceAccessor.java:303)
         at oracle.tip.adapter.db.DBConnection.getTopLinkSQLConnection(DBConnection.java:335)
         at oracle.tip.adapter.db.transaction.DBTransaction.beginInternal(DBTransaction.java:126)
         at oracle.tip.adapter.db.puresql.PureSQLInteraction.executePureSQL(PureSQLInteraction.java:165)
         at oracle.tip.adapter.db.DBInteraction.executePureSQL(DBInteraction.java:1178)
         at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:255)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:303)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeJcaReference(JCAInteractionInvoker.java:519)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeSyncJcaReference(JCAInteractionInvoker.java:492)
         at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.performSynchronousInteraction(JCAEndpointInteraction.java:472)
         at oracle.integration.platform.blocks.adapter.AdapterReference.request(AdapterReference.java:166)
         at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
         at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
         at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
         at sun.reflect.GeneratedMethodAccessor925.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy284.request(Unknown Source)
         at oracle.fabric.CubeServiceEngine.requestToMesh(CubeServiceEngine.java:797)
         at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:262)
         at com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke(InvokeHandler.java:1073)
         at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke(InvokeHandler.java:526)
         at com.collaxa.cube.engine.ext.common.InvokeHandler.handle(InvokeHandler.java:127)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:70)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:162)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2465)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1133)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:219)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:327)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4350)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4282)
         at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:713)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:545)
         at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:108)
         at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvokeParticipate(CubeEngineBean.java:186)
         at sun.reflect.GeneratedMethodAccessor930.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
         at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106)
         at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:106)
         at sun.reflect.GeneratedMethodAccessor833.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
         at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
         at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy282.syncCreateAndInvokeParticipate(Unknown Source)
         at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.syncCreateAndInvokeParticipate(BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.java:328)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.callCreateAndInvoke(DeliveryHandler.java:788)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:528)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:487)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:162)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.request(CubeDeliveryBean.java:607)
         at sun.reflect.GeneratedMethodAccessor933.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
         at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61)
         at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106)
         at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:106)
         at sun.reflect.GeneratedMethodAccessor833.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
         at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
         at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy279.request(Unknown Source)
         at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.request(BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.java:462)
         at oracle.fabric.CubeServiceEngine.request(CubeServiceEngine.java:358)
         at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
         at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
         at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
         at sun.reflect.GeneratedMethodAccessor925.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy284.request(Unknown Source)
         at oracle.tip.mediator.serviceEngine.MediatorServiceEngine.request2Mesh(MediatorServiceEngine.java:1063)
         at oracle.tip.mediator.service.BaseActionHandler.requestProcess(BaseActionHandler.java:202)
         at oracle.tip.mediator.service.BaseActionHandler.requestProcess(BaseActionHandler.java:94)
         at oracle.tip.mediator.service.BaseActionHandler.requestProcess(BaseActionHandler.java:74)
         at oracle.tip.mediator.service.SyncRequestResponseHandler.process(SyncRequestResponseHandler.java:79)
         at oracle.tip.mediator.service.ActionProcessor.onMessage(ActionProcessor.java:64)
         at oracle.tip.mediator.dispatch.MessageDispatcher.executeCase(MessageDispatcher.java:140)
         at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processCase(InitialMessageDispatcher.java:495)
         at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processCases(InitialMessageDispatcher.java:393)
         at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processNormalCases(InitialMessageDispatcher.java:276)
         at oracle.tip.mediator.dispatch.InitialMessageDispatcher.processCases(InitialMessageDispatcher.java:251)
         at oracle.tip.mediator.dispatch.InitialMessageDispatcher.dispatch(InitialMessageDispatcher.java:148)
         at oracle.tip.mediator.serviceEngine.MediatorServiceEngine.process(MediatorServiceEngine.java:860)
         at oracle.tip.mediator.serviceEngine.MediatorServiceEngine.request(MediatorServiceEngine.java:716)
         at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
         at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
         at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:155)
         at sun.reflect.GeneratedMethodAccessor925.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:59)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy284.request(Unknown Source)
         at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.doMessageProcessing(WebServiceEntryBindingComponent.java:1169)
         at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.processIncomingMessage(WebServiceEntryBindingComponent.java:768)
         at oracle.integration.platform.blocks.soap.FabricProvider.processMessage(FabricProvider.java:113)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1168)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:996)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:562)
         at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:222)
         at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:186)
         at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:430)
         at oracle.integration.platform.blocks.soap.FabricProviderServlet.doPost(FabricProviderServlet.java:477)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    </summary>
    ,detail=<detail>Internal error: Cannot obtain XAConnection weblogic.common.resourcepool.ResourceDisabledException: Pool DEV__DB is Suspended, cannot allocate resources to applications..
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:357)
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:332)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:440)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:317)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:93)
    </detail>
    ,code=<code>0</code>}
    oracle.tip.mediator.infra.exception.MediatorException: ORAMED-03303:[Unexpected exception in case execution]Unexpected exception in request response operation "process" on reference "DEV_bpel_client". Possible Fix:Check whether the reference service is properly configured and running or look at exception for analysing the reason or contact oracle support.
         at oracle.tip.mediator.service.SyncRequestResponseHandler.handleFault(SyncRequestResponseHandler.java:215)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: oracle.fabric.common.FabricInvocationException: faultName: {{http://schemas.oracle.com/bpel/extension}remoteFault}I configured it using the Oracle User Guide For Technology Adapters, paragraph 2.21, but I still have the issue.
    Please can someone help me out?

    Also, the strange thing is that if I monitor the Datasource (that has a 100 conn. capacity) I see that it is not overloaded:
    Server Sorted Ascending      Enabled      State      JDBC Driver      Active Connections Average Count      Active Connections Current Count      Active Connections High Count      Connection Delay Time      Connections Total Count      Curr Capacity High Count      Current Capacity      Failed Reserve Request Count      Failures To Reconnect Count      Highest Num Available      Leaked Connection Count      Num Available      Num Unavailable      Prep Stmt Cache Add Count      Prep Stmt Cache Current Size      Prep Stmt Cache Delete Count      Prep Stmt Cache Hit Count      Prep Stmt Cache Miss Count      PrepStmt Cache Access Count      Reserve Request Count      Wait Seconds High Count      Waiting For Connection Current Count      Waiting For Connection Failure Total      Waiting For Connection High Count      Waiting For Connection Success Total      Waiting For Connection Total
    soa_server1     false     Suspended     oracle.jdbc.xa.client.OracleXADataSource     0     9     9     19049     36     10     9     81     0     10     0     0     9     18     18     0     0     18     18     380     0     0     0     0     35     0

  • Has anyone run the connection pooling for mysql & tomcat successfully?

    I'm trying to set up connection pooling. I'm following the how-to page at
    http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html
    But when i test the DBTest/test.jsp file, tomcat displays an error =
    could not load jdbc driver class 'null'(msdos)
    i have placed all the required .jar files in the tomcat lib.
    below is the cofiguration i did to the server.xml file
    <!-- Example Server Configuration File -->
    <!-- Note that component elements are nested corresponding to their
    parent-child relationships with each other -->
    <!-- A "Server" is a singleton element that represents the entire JVM,
    which may contain one or more "Service" instances. The Server
    listens for a shutdown command on the indicated port.
    Note: A "Server" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <Server port="8005" shutdown="SHUTDOWN" debug="0">
    <!-- Uncomment these entries to enable JMX MBeans support -->
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
    debug="0"/>
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
    debug="0"/>
    <!-- Global JNDI resources -->
    <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <!-- Editable user database that can also be used by
    UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
    type="org.apache.catalina.UserDatabase"
    description="User database that can be updated and saved">
    </Resource>
    <ResourceParams name="UserDatabase">
    <parameter>
    <name>factory</name>
    <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
    </parameter>
    <parameter>
    <name>pathname</name>
    <value>conf/tomcat-users.xml</value>
    </parameter>
    </ResourceParams>
    </GlobalNamingResources>
    <!-- A "Service" is a collection of one or more "Connectors" that share
    a single "Container" (and therefore the web applications visible
    within that Container). Normally, that Container is an "Engine",
    but this is not required.
    Note: A "Service" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <!-- Define the Tomcat Stand-Alone Service -->
    <Service name="Tomcat-Standalone">
    <!-- A "Connector" represents an endpoint by which requests are received
    and responses are returned. Each Connector passes requests on to the
    associated "Container" (normally an Engine) for processing.
    By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
    You can also enable an SSL HTTP/1.1 Connector on port 8443 by
    following the instructions below and uncommenting the second Connector
    entry. SSL support requires the following steps (see the SSL Config
    HOWTO in the Tomcat 4.0 documentation bundle for more detailed
    instructions):
    * Download and install JSSE 1.0.2 or later, and put the JAR files
    into "$JAVA_HOME/jre/lib/ext".
    * Execute:
    %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
    $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
    with a password value of "changeit" for both the certificate and
    the keystore itself.
    By default, DNS lookups are enabled when a web application calls
    request.getRemoteHost(). This can have an adverse impact on
    performance, so you can disable it by setting the
    "enableLookups" attribute to "false". When DNS lookups are disabled,
    request.getRemoteHost() will return the String version of the
    IP address of the remote client.
    -->
    <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8081 -->
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
    port="8080" minProcessors="5" maxProcessors="75"
    enableLookups="true" redirectPort="8443"
    acceptCount="100" debug="0" connectionTimeout="20000"
    useURIValidationHack="false" disableUploadTimeout="true" />
    <!-- Note : To disable connection timeouts, set connectionTimeout value
    to -1 -->
    <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
    port="8443" minProcessors="5" maxProcessors="75"
    enableLookups="true"
         acceptCount="100" debug="0" scheme="https" secure="true"
    useURIValidationHack="false" disableUploadTimeout="true">
    <Factory className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
    clientAuth="false" protocol="TLS" />
    </Connector>
    -->
    <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
    port="8009" minProcessors="5" maxProcessors="75"
    enableLookups="true" redirectPort="8443"
    acceptCount="10" debug="0" connectionTimeout="20000"
    useURIValidationHack="false"
    protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <!--
    <Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
    port="8009" minProcessors="5" maxProcessors="75"
    acceptCount="10" debug="0"/>
    -->
    <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
    <!-- See proxy documentation for more information about using this. -->
    <!--
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
    port="8082" minProcessors="5" maxProcessors="75"
    enableLookups="true" disableUploadTimeout="true"
    acceptCount="100" debug="0" connectionTimeout="20000"
    proxyPort="80" useURIValidationHack="false" />
    -->
    <!-- Define a non-SSL legacy HTTP/1.1 Test Connector on port 8083 -->
    <!--
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
    port="8083" minProcessors="5" maxProcessors="75"
    enableLookups="true" redirectPort="8443"
    acceptCount="10" debug="0" />
    -->
    <!-- Define a non-SSL HTTP/1.0 Test Connector on port 8084 -->
    <!--
    <Connector className="org.apache.catalina.connector.http10.HttpConnector"
    port="8084" minProcessors="5" maxProcessors="75"
    enableLookups="true" redirectPort="8443"
    acceptCount="10" debug="0" />
    -->
    <!-- An Engine represents the entry point (within Catalina) that processes
    every request. The Engine implementation for Tomcat stand alone
    analyzes the HTTP headers included with the request, and passes them
    on to the appropriate Host (virtual host). -->
    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Standalone" defaultHost="localhost" debug="0">
    <!-- The request dumper valve dumps useful debugging information about
    the request headers and cookies that were received, and the response
    headers and cookies that were sent, for all requests received by
    this instance of Tomcat. If you care only about requests to a
    particular virtual host, or a particular application, nest this
    element inside the corresponding <Host> or <Context> entry instead.
    For a similar mechanism that is portable to all Servlet 2.3
    containers, check out the "RequestDumperFilter" Filter in the
    example application (the source for this filter may be found in
    "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
    Request dumping is disabled by default. Uncomment the following
    element to enable it. -->
    <!--
    <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
    -->
    <!-- Global logger unless overridden at lower levels -->
    <Logger className="org.apache.catalina.logger.FileLogger"
    prefix="catalina_log." suffix=".txt"
    timestamp="true"/>
    <!-- Because this Realm is here, an instance will be shared globally -->
    <!-- This Realm uses the UserDatabase configured in the global JNDI
    resources under the key "UserDatabase". Any edits
    that are performed against this UserDatabase are immediately
    available for use by the Realm. -->
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
    debug="0" resourceName="UserDatabase"/>
    <!-- Comment out the old realm but leave here for now in case we
    need to go back quickly -->
    <!--
    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    -->
    <!-- Replace the above Realm with one of the following to get a Realm
    stored in a database and accessed via JDBC -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
    driverName="org.gjt.mm.mysql.Driver"
    connectionURL="jdbc:mysql://localhost/authority"
    connectionName="test" connectionPassword="test"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
    driverName="oracle.jdbc.driver.OracleDriver"
    connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
    connectionName="scott" connectionPassword="tiger"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
    driverName="sun.jdbc.odbc.JdbcOdbcDriver"
    connectionURL="jdbc:odbc:CATALINA"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!-- Define the default virtual host -->
    <Host name="localhost" debug="0" appBase="webapps"
    unpackWARs="true" autoDeploy="true">
    <Context path="/my-jsp" docBase="c:\JSP-Files" debug="0"
    privileged="true" reloadable="true" />
         <Context path="" docBase="c:\Inetpub\wwwroot" debug="0" privileged="true" />
    <Context path="/sharon" docBase="C:\Tomcat 4.1\webapps\sharon" debug="0" privileged="true" />
    <!-- Normally, users must authenticate themselves to each web app
    individually. Uncomment the following entry if you would like
    a user to be authenticated the first time they encounter a
    resource protected by a security constraint, and then have that
    user identity maintained across all web applications contained
    in this virtual host. -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn"
    debug="0"/>
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.AccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <!-- Logger shared by all Contexts related to this virtual host. By
    default (when using FileLogger), log files are created in the "logs"
    directory relative to $CATALINA_HOME. If you wish, you can specify
    a different directory with the "directory" attribute. Specify either a
    relative (to $CATALINA_HOME) or absolute path to the desired
    directory.-->
    <Logger className="org.apache.catalina.logger.FileLogger"
    directory="logs" prefix="localhost_log." suffix=".txt"
         timestamp="true"/>
    <!-- Define properties for each web application. This is only needed
    if you want to set non-default properties, or have web application
    document roots in places other than the virtual host's appBase
    directory. -->
    <!-- Tomcat Root Context -->
    <!--
    <Context path="" docBase="ROOT" debug="0"/>
    -->
    <!-- Tomcat Examples Context -->
    <Context path="/examples" docBase="examples" debug="0"
    reloadable="true" crossContext="true">
    <Logger className="org.apache.catalina.logger.FileLogger"
    prefix="localhost_DBTest_log." suffix=".txt"
    timestamp="true"/>
    <Ejb name="ejb/EmplRecord" type="Entity"
    home="com.wombat.empl.EmployeeRecordHome"
    remote="com.wombat.empl.EmployeeRecord"/>
    <!-- If you wanted the examples app to be able to edit the
    user database, you would uncomment the following entry.
    Of course, you would want to enable security on the
    application as well, so this is not done by default!
    The database object could be accessed like this:
    Context initCtx = new InitialContext();
    Context envCtx = (Context) initCtx.lookup("java:comp/env");
    UserDatabase database =
    (UserDatabase) envCtx.lookup("userDatabase");
    -->
    <!--
    <ResourceLink name="userDatabase" global="UserDatabase"
    type="org.apache.catalina.UserDatabase"/>
    -->
    <!-- PersistentManager: Uncomment the section below to test Persistent
              Sessions.
    saveOnRestart: If true, all active sessions will be saved
    to the Store when Catalina is shutdown, regardless of
    other settings. All Sessions found in the Store will be
    loaded on startup. Sessions past their expiration are
    ignored in both cases.
    maxActiveSessions: If 0 or greater, having too many active
    sessions will result in some being swapped out. minIdleSwap
    limits this. -1 means unlimited sessions are allowed.
    0 means sessions will almost always be swapped out after
    use - this will be noticeably slow for your users.
    minIdleSwap: Sessions must be idle for at least this long
    (in seconds) before they will be swapped out due to
    maxActiveSessions. This avoids thrashing when the site is
    highly active. -1 or 0 means there is no minimum - sessions
    can be swapped out at any time.
    maxIdleSwap: Sessions will be swapped out if idle for this
    long (in seconds). If minIdleSwap is higher, then it will
    override this. This isn't exact: it is checked periodically.
    -1 means sessions won't be swapped out for this reason,
    although they may be swapped out for maxActiveSessions.
    If set to >= 0, guarantees that all sessions found in the
    Store will be loaded on startup.
    maxIdleBackup: Sessions will be backed up (saved to the Store,
    but left in active memory) if idle for this long (in seconds),
    and all sessions found in the Store will be loaded on startup.
    If set to -1 sessions will not be backed up, 0 means they
    should be backed up shortly after being used.
    To clear sessions from the Store, set maxActiveSessions, maxIdleSwap,
    and minIdleBackup all to -1, saveOnRestart to false, then restart
    Catalina.
    -->
              <!--
    <Manager className="org.apache.catalina.session.PersistentManager"
    debug="0"
    saveOnRestart="true"
    maxActiveSessions="-1"
    minIdleSwap="-1"
    maxIdleSwap="-1"
    maxIdleBackup="-1">
    <Store className="org.apache.catalina.session.FileStore"/>
    </Manager>
              -->
    <Environment name="maxExemptions" type="java.lang.Integer"
    value="15"/>
    <Parameter name="context.param.name" value="context.param.value"
    override="false"/>
    <Resource name="jdbc/EmployeeAppDb" auth="SERVLET"
    type="javax.sql.DataSource"/>
    <Resource name="jdbc/TestDB"
         auth="Container"
         type="javax.sql.DataSource"/>
    <ResourceParams name="jdbc/TestDB">
    <parameter>
         <name>factory</name>
         <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
         </parameter>
         <!-- Maximum number of dB connections in pool. Make sure you
         configure your mysqld max_connections large enough to handle
         all of your db connections. Set to 0 for no limit.
         -->
         <parameter>
         <name>maxActive</name>
         <value>100</value>
         </parameter>
         <!-- Maximum number of idle dB connections to retain in pool.
         Set to 0 for no limit.
         -->
         <parameter>
         <name>maxIdle</name>
         <value>30</value>
         </parameter>
         <!-- Maximum time to wait for a dB connection to become available
         in ms, in this example 10 seconds. An Exception is thrown if
         this timeout is exceeded. Set to -1 to wait indefinitely.
         -->
         <parameter>
         <name>maxWait</name>
         <value>10000</value>
         </parameter>
    <!-- MySQL dB username and password for dB connections -->
    <parameter>
    <name>user</name>
    <value>javauser</value>
    </parameter>
    <parameter>
    <name>password</name>
    <value>javadude</value>
    </parameter>
    <!-- Class name for mm.mysql JDBC driver -->
    <parameter>
    <name>driverClassName</name>
    <value>org.gjt.mm.mysql.Driver</value>
    </parameter>
    <!-- The JDBC connection url for connecting to your MySQL dB.
         The autoReconnect=true argument to the url makes sure that the
         mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
         connection. mysqld by default closes idle connections after 8 hours.
         -->
         <parameter>
         <name>url</name>
         <value>jdbc:mysql://localhost:3306/javatest?autoReconnect=true</value>
    </parameter>
    </ResourceParams>
    <Resource name="mail/Session" auth="Container"
    type="javax.mail.Session"/>
    <ResourceParams name="mail/Session">
    <parameter>
    <name>mail.smtp.host</name>
    <value>localhost</value>
    </parameter>
    </ResourceParams>
    <ResourceLink name="linkToGlobalResource"
    global="simpleValue"
    type="java.lang.Integer"/>
    </Context>
    </Host>
    </Engine>
    </Service>
    <!-- The MOD_WEBAPP connector is used to connect Apache 1.3 with Tomcat 4.0
    as its servlet container. Please read the README.txt file coming with
    the WebApp Module distribution on how to build it.
    (Or check out the "jakarta-tomcat-connectors/webapp" CVS repository)
    To configure the Apache side, you must ensure that you have the
    "ServerName" and "Port" directives defined in "httpd.conf". Then,
    lines like these to the bottom of your "httpd.conf" file:
    LoadModule webapp_module libexec/mod_webapp.so
    WebAppConnection warpConnection warp localhost:8008
    WebAppDeploy examples warpConnection /examples/
    The next time you restart Apache (after restarting Tomcat, if needed)
    the connection will be established, and all applications you make
    visible via "WebAppDeploy" directives can be accessed through Apache.
    -->
    <!-- Define an Apache-Connector Service -->
    <!--
    <Service name="Tomcat-Apache">
    <Connector className="org.apache.catalina.connector.warp.WarpConnector"
    port="8008" minProcessors="5" maxProcessors="75"
    enableLookups="true" appBase="webapps"
    acceptCount="10" debug="0"/>
    <Engine className="org.apache.catalina.connector.warp.WarpEngine"
    name="Apache" debug="0">
    <Logger className="org.apache.catalina.logger.FileLogger"
    prefix="apache_log." suffix=".txt"
    timestamp="true"/>
    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    </Engine>
    </Service>
    -->
    </Server>
    Pleas4 help!!!

    you have your driver jar in Tomcat\common\lib?
    if so, check your classpath, it could be that.

  • Error while creating connection pool "FATAL: database "null" does not exist

    Hi,
    Iam trying to create a XA connection pool using postgres driver (postgresql-8.3-603.jdbc3.jar) on Weblogic 8.1.6.0 from the Admin Console.
    I have provided the following info in the JDBC config
    Driver Class Name: org.postgresql.xa.PGXADataSource.
    JDBC URL: jdbc:postgresql://192.168.192.112:5432/sample1
    UserName: postgres
    Password: Postgres
    When i click Test Driver Configuration. Iam getting the following error
    "FATAL: database "null" does not exist"
    if i change the Driver Class Name to "org.postgresql.Driver", it is working fine. But as iam trying to create XA datasource i need to use the XA Driver class name.
    Can someone tell me how to resolve this issue ?
    The postgres version iam using is 8.3.1

    Hi Joe,
    The driver is in the classpath.
    Please find the stack trace.
    org.postgresql.util.PSQLException: FATAL: database "null" does not exist
    at org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(Conn
    ectionFactoryImpl.java:444)
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(Conne
    ctionFactoryImpl.java:99)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactor
    y.java:66)
    at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Conn
    ection.java:124)
    at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Conn
    ection.java:30)
    at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
    at org.postgresql.Driver.makeConnection(Driver.java:386)
    at org.postgresql.Driver.connect(Driver.java:260)
    at java.sql.DriverManager.getConnection(DriverManager.java:512)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at org.postgresql.ds.common.BaseDataSource.getConnection(BaseDataSource.
    java:83)
    at org.postgresql.xa.PGXADataSource.getXAConnection(PGXADataSource.java:
    47)
    at org.postgresql.xa.PGXADataSource.getXAConnection(PGXADataSource.java:
    32)
    at weblogic.management.console.utils.JDBC.testConnection(JDBC.java:185)
    at weblogic.management.console.actions.mbean.JDBCConnectionPoolTestActio
    n.prePerform(JDBCConnectionPoolTestAction.java:114)
    at weblogic.management.console.actions.mbean.DoMBeanWizardAction.perform
    (DoMBeanWizardAction.java:215)
    at weblogic.management.console.actions.internal.ActionServlet.doAction(A
    ctionServlet.java:182)
    at weblogic.management.console.actions.internal.ActionServlet.doPost(Act
    ionServlet.java:86)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
    (ServletStubImpl.java:1077)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:465)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:348)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
    n.run(WebAppServletContext.java:7047)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
    dSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
    121)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
    rvletContext.java:3902)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
    pl.java:2773)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)

Maybe you are looking for

  • How can I get the ipad to charge on my usb. I have a 2.0 and still not showing it charges.

    I have  a laptop with a 2.0 usb.  I have an ipad and can't get it to charge on the laptop.  I called apple and they said I need a firmware update. How do I do this and will that work? Help, thanks

  • Setting up ACD-AA Script

    I'm stuck trying to configure acd-aa script version 3.0.0.2 on a CME version 12.4(24)T, I follow the configuration guide of others routers on this forum but don't get what is missing.  I don't have a hunt-group configured cause there is only one oper

  • Calling a javascript function from java code and getting tha value in Java

    Hi, I would like to call a Java script function confirmRemove() from Java code upon meeting a condition.. for example the code snippet is: if(true){ // I want to call js confirmRemove() over here. And get the value of variable "answer" in this if blo

  • How to create creative, unique "motion" typography

    Hello Apple Support Community friends, Please bear with me, I am new with Motion 5 along with Final Cut Pro X. I would like to learn how to create interesting use of "motion" typography in Motion 5. And how to import the finished Motion project file

  • Dataguard installation oracle 11gr2 on windows 2008 server

    Hi, I have oracle 11gr2 database on windows 2008 server. I have been given a primary and secondary server with the same setup. Now i want to install dataguard. AFter installing i need to test it for disaster recovery. Can anyone please suggest me a d