Actual implementation of interfaces involved in JDBC connection creation

Pl some body tell me where does the actual implementation of interfaces like connection,Statement,PreparedStatement..we use to to make a JDBC connection from a simple application or J2EE application.
Thanks

Hi sharma,
JDBC API will be implemented by JDBC Driver vendors. For example Microsoft provide "com.microsoft.jdbc.sqlserver.SQLServerDriver" driver for SQL Server 2000. Similarly Oracle privide several JDBC Drivers to be used with Oracle databases.
Sun has provided a JDBC-ODBC bridge (Driver) along with its JDK or JSDK. This driver is capable for connecting Java applications with any ODBC connection.
Cuz this driver is included with the JDK/JSDK therefore you can use it to connect with for example MS Access DB or any other ODBC connected DB.
If you want to connect your Java or J2EE application to some specific database then you should get the Driver for that particular database.
regards,
Humayun

Similar Messages

  • JDBC connection creation with ORACLE RAC

    Hello All,
    Here my scenario is when ever one of my VIP instance in Oracle RAC goes down.Weblogic/Java(JDBC) is taking close to 3 minutes for failover with secondary host. I am looking for a solution to reduce the connect time failover seconds..
    jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=HOST1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=HOST2)(PORT=1521))(FAILOVER=on)(LOAD_BALANCE=off))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=SERVICE)))

    Hi,
    In such case failover will depend on RAC instead on Weblogic.
    Oracle will never recommend such way.
    Please try to use Mutli datasource to implement such failover and in older version we have 60 seconds for failover time.
    But we can change but adding one Bug (currently not remember).
    Regards,
    Kal

  • Reg Implementing the interfaces in JDBC

    Hi,
    When we do a program that deals with database connectivity,we are not implementing the Interfaces like Statement,ResultSet.But we are using those
    interfaces inside our program.
    Can anybody justify how it is possible.
    Thanks in advance

    The DB vendors are responsible for providing implementation classes for these interfaces. That's why we need to keep DB specific jar files in CLASSPATH when we do DB activities..
    Gautam

  • ResultSet problem with a jdbc connection pool implementation

    Hi
    I'm trying to use jdbc connection pool in my java application (js2e 1.4.0_01)
    from the example at http://www.developer.com/tech/article.php/626141
    In my main() code, in addition to JDBCConnection, JDBCConnectionImpl and JDBCPool classes, i use
    JDBCConnection conn;
    conn = new JDBCConnection(dbName);
    // make a statement
    sqlString = "SELECT........."
    ResultSet rs = null;
    rs = conn.sendRequest(sqlString, rs);
    // print result
    while (rs.next()) {
    Unfortunately i get an error like "ResultSet is closed" in the line corresponding to rs.next. The error disappears if i remove the line
    stmt.close();
    in the method sendRequest of the JDBCConnectionImpl class.
    1) Does anybody knows the solution?
    2) How to close all connections?
    Thanks you in advance.

    Hi ,
    You are closing the statement and then trying to use resultset , which is not going to work .So close then statment after using resultset .Ideally the code should be like this
    try {
    conn = // get the connection
    pstmt = conn.prepareStatement(sql);
    rs = pstmt.executeQuery();
    while ( rs.next()){
    // do something
    catch (Exception ex) {
    finally {
    try {
    if (rs != null)
    rs.close();
    if (pstmt != null)
    pstmt.close();
    if(conn!=null )
    conn.close();

  • Obtaining an oracle.sql.STRUCT through a pooled JDBC connection

    Hello,
    I am using WebLogic Server 10 and and Oracle 10 and I am trying to obtain a vendor-specific oracle.sql.STRUCT from a ResultSet using a pooled connection defined in Weblogic. I need the vendor-specific object, rather than simply the java.sql.Struct implementation, because a third party library requires it.
    What gets returned in the ResultSet is a non-exposed WebLogic wrapper object which implements java.sql.Struct, but which cannot be cast to an oracle.sql.STRUCT. I can use reflection on this object to find and call the getVendorObj() method to obtain the oracle.sql.STRUCT, but this solution is not acceptable because this is not a published API and is not guaranteed not to change in future versions.
    How can I reliably obtain a vendor-specific implementation of java.sql.Struct through a WebLogic connection pool in WebLogic Server 10?
    Thanks for any advice,
    -Dan Schwemlein

    dan schwemlein wrote:
    Joe,
    Thanks again. With your guidance, I have arrived at the following approach, which I'll post for the benefit of others, and which I'd be thankful if you would validate:
    1) Import the jar com.bea.core.datasource-1.0.0.0.jar from %BEA_HOME%\modules, which is the only location of the class WLConnection, which is the only class with the getVendorConnection() method you refer to.
    2) Get the logical connection from the pooled data source, cast it to a WLConnection, call getVendorConnection() to obtain an OracleConnection (from the ojdbc jar), and use this connection to obtain the required oracle.sql.STRUCT from an OracleResultSet.
    3) Be aware of the limitations and follow the guidelines in the document http://e-docs.bea.com/wls/docs81/jdbc/thirdparty.html#1043646 regarding security, error handling, releasing resources (close only the logical connection), etc.
    Does this sound like the approach you had in mind?
    Thanks again,
    -Danyes.
    Joe
    >
    Re: Obtaining an oracle.sql.STRUCT through a pooled JDBC connection
    Posted: Jul 16, 2007 3:21 PM
    dan schwemlein wrote:
    Thanks for the quick response!I was working today...
    Thank you for the information about the connection being closed.
    I will look into using this configuration setting.
    You say that you can describe a way to get a handle on an unwrapped
    pool object using some documented WLS-specific code. Are you referring
    here to the getVendorConnection() method?yes.
    This method does not help me
    get the oracle.sql.STRUCT object, because even the connection returned
    by getVendorConnection() returns a wrapped WL java.sql.Struct object
    from a call to getObject().I don't believe it. If you are running in WLS, with a local pool,
    the getVendorConnection() will give you the Oracle connection,
    which will give you an Oracle statement, etc, down to an oracle
    STRUCT object. Once you have a direct reference to the oracle connection,
    we're not in the picture when it returns something to you.
    It would be great if getVendorObj() were
    documented and could be counted on in future versions. To use this
    method, one would still have to access it via Java reflection, because
    the wrapper class and its getVendorObj() method would be exposed in an
    API, correct? Could this method be exposed in the API, so that reflection
    doesn't need to be used, or it is exposed somewhere that isn't documented?getVendorObj() is not yet exposed or therefore supported for the general
    wrapped object, so you would have to start from the connection and
    derive all subobjects from it.
    Thanks again,
    -Dan Schwemlein
    Hello,
    I am using WebLogic Server 10 and and Oracle 10 and I am trying to obtain a
    vendor-specific oracle.sql.STRUCT from a ResultSet using a pooled connection
    defined in Weblogic. I need the vendor-specific object, rather than simply
    the java.sql.Struct implementation, because a third party library requires it.
    What gets returned in the ResultSet is a non-exposed WebLogic wrapper object
    which implements java.sql.Struct, but which cannot be cast to an oracle.sql.STRUCT.
    I can use reflection on this object to find and call the getVendorObj() method to
    obtain the oracle.sql.STRUCT, but this solution is not acceptable because this is
    not a published API and is not guaranteed not to change in future versions.Understood. We all benefit from sticking to the J2EE standards,
    but we could also wish Oracle had done so with it's driver objects.
    I will assume your code is running in the WebLogic server, because
    an external JVM can never access the real driver object, which will
    always really be in the WLS JVM. No active JDBC object is serializable.
    How can I reliably obtain a vendor-specific implementation of java.sql.Struct
    through a WebLogic connection pool in WebLogic Server 10?There is no way to get a handle on an unwrapped pool object without using some
    WLS-specific code, though I can describe a way with documented methods,
    and/or I can get our documentation altered to say we'll support the
    getVendorObj() method. We introspect every vendor object, and for those
    implementations that have done the wise thing, projecting any non-standard
    methods as an Interface, we are able to also project that Interface so
    the vndor example code should work. However, in some poorly-done
    cases, such as for some Oracle stuff, there is either no Interface,
    or the Oracle code has extensions that take java.sql objects as input,
    (at least that's the signature of the method) but two lines into the
    method, the Oracle code assumes and casts the java.sql object to a concrete
    Oracle object. In these use cases you need the direct unwrapped object.
    We provide and document Connection.getVendorConnection(), and intend
    getVendorObj() to serve the same for subobjects, but note the dangers
    and responsibilities: We rely on our wrappers to implement the security
    and thread-safety of our pooling system. Because user code can get
    unrestricted access to the actual connection from most JDBC objects,
    we can never trust that we have complete control once a vendor object
    is exposed. Therefore, by default we will close and replace every JDBC
    connection so exposed, as soon as the current thread is finished with
    the pool connection. This hurts performance. We also document a pool
    config setting that will tell us that you take responsibility for any such
    problems, and not to close connections just because they've been exposed.
    HTH,
    Joe
    Thanks for any advice,
    -Dan Schwemlein

  • JDBC connection pool failures when used by JMS stores

              We are using WebLogic 6.1 sp2. We defined a separate connection pool for use by
              a JMS Store.
              <JDBCConnectionPool Name="sybaseJMSPool"
              Targets="cluster00"
              InitialCapacity="2"
              MaxCapacity="10"
              DriverName="com.sybase.jdbc2.jdbc.SybDriver"
              Properties="[email protected]@;[email protected]@;charset=utf8"
              URL="jdbc:sybase:Tds:@jms.db.host@/@jms.db.name@"/>
              (note that the @xxx@ string are replaced by actual values).
              We are using Sybase Jconnect 5.5 to a Sybase ASE 12.5 database.
              We deployed this configuration on a number of environments (testing, staging,
              ..). The actual hardware and network configuration is different for the different
              system, but the WebLogic domain stays the same regarding this issue.
              On the test system we frequently get the following exceptions:
              <Aug 13, 2002 1:56:04 PM CEST> <Alert> <JMS> <www00-test> <node00>
              <ExecuteThread: '6' for queue: 'JMS.TimerClientPool'> <> <> <040048>
              <JMSServer "JMSServer00", store failure while writing message for topic
              OrderChangeTopic, java.io.IOException: JMS JDBC store, connection pool =
              <sybaseJMSPool>, prefix = <JMS00>: write failed
              java.sql.SQLException: JZ006: Caught IOException:
              com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0: Connection is already
              closed.
              at com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead
              (ErrorMessage.java:715)
              at com.sybase.jdbc2.tds.Tds.handleIOE(Tds.java:3124)
              at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1412)
              at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1341)
              at com.sybase.jdbc2.jdbc.SybStatement.doCancel(SybStatement.java:564)
              at com.sybase.jdbc2.jdbc.SybStatement.updateLoop(SybStatement.java:1672)
              at com.sybase.jdbc2.jdbc.SybStatement.executeUpdate
              (SybStatement.java:1625)
              at com.sybase.jdbc2.jdbc.SybPreparedStatement.executeUpdate
              (SybPreparedStatement.java:91)
              at com.p6spy.engine.logging.P6LogPreparedStatement.executeUpdate
              (P6LogPreparedStatement.java:179)
              at weblogic.jdbc.pool.Statement.executeUpdate(Statement.java:293)
              at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1246)
              at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
              at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              .>
              java.io.IOException: JMS JDBC store, connection pool = <sybaseJMSPool>, prefix
              = <JMS00>: write failed
              java.sql.SQLException: JZ006: Caught IOException:
              com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0: Connection is already
              closed.
              at com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead
              (ErrorMessage.java:715)
              at com.sybase.jdbc2.tds.Tds.handleIOE(Tds.java:3124)
              at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1412)
              at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1341)
              at com.sybase.jdbc2.jdbc.SybStatement.doCancel(SybStatement.java:564)
              at com.sybase.jdbc2.jdbc.SybStatement.updateLoop(SybStatement.java:1672)
              at com.sybase.jdbc2.jdbc.SybStatement.executeUpdate
              (SybStatement.java:1625)
              at com.sybase.jdbc2.jdbc.SybPreparedStatement.executeUpdate
              (SybPreparedStatement.java:91)
              at com.p6spy.engine.logging.P6LogPreparedStatement.executeUpdate
              (P6LogPreparedStatement.java:179)
              at weblogic.jdbc.pool.Statement.executeUpdate(Statement.java:293)
              at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1246)
              at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
              at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              at weblogic.jms.store.JDBCIOStream.throwIOException
              (JDBCIOStream.java:1213)
              at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1256)
              at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
              at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              Before that this message appeared:
              <Aug 13, 2002 11:31:16 AM CEST> <Error> <ConnectionManager> <www00-test>
              <node00> <ExecuteThread: '26' for queue: 'default'> <> <> <000000>
              <Closing: 'weblogic.rjvm.t3.T3JVMConnection@795af6' because of: 'Server
              received a message over an uninitialized connection: 'JVMMessage from: 'null'
              to: '-4555218188801970213S:192.168.13.1:[7001,7001,7002,7002,7001,7002,-
              1]:ADIS:node00' cmd: 'CMD_REQUEST', QOS: '101', responseId: '1',
              invokableId: '287', flags: 'JVMIDs Not Sent, TX Context Not Sent', abbrev
              offset: '34'''>
              This problem did not occur on another system which was used during a 2 day stress
              testing session.
              It seems that the problem occurs after a period in which no user request where
              made. The user requests trigger EJB's that start sending JMS messages.
              When the problem occurs, the JMS messaging systems seems to lock up as no messages
              are received anymore by the different listeners (MDBs).
              Undeploying and redeploying the JBDC connection pool solves the problem. This
              solution is unacceptable in case of a production system.
              A similarly defined connection pool, which is used by the EJBs to make database
              connection, does not manifest this problem.
              <JDBCConnectionPool Name="sybasePool"
              Targets="cluster00"
              InitialCapacity="10"
              CapacityIncrement="5"
              MaxCapacity="50"
              PreparedStatementCacheSize="150"
              DriverName="com.sybase.jdbc2.jdbc.SybDriver"
              Properties="[email protected]@;[email protected]@;JCONNECT_VERSION=6;charset=utf8"
              URL="jdbc:sybase:Tds:@db.host@/@db.name@"/>
              The JDBC connection pool is used as follows by the JDBC store
              <JMSJDBCStore ConnectionPool="sybaseJMSPool" Name="JDBCStore00" PrefixName="JMS00"/>
              <JMSServer Name="JMSServer00" Store="JDBCStore00" Targets="node00">
              <JMSTopic JNDIName="ADIS.JMSError" JNDINameReplicated="false" Name="ErrorTopic"/>
              <JMSTopic JNDIName="ADIS.Status"
              Name="StatusTopic" RedeliveryDelayOverride="300000"/>
              <JMSTopic JNDIName="ADIS.OrderChange" JNDINameReplicated="false"
              Name="OrderChangeTopic" RedeliveryLimit="3"/>
              </JMSServer>
              Turning on the "Test Reserved Connection" with a appropriate test table does not
              help.
              Some sources on the internet tell us that JZ0C0 errors in the Jconnect driver
              can be related to network problems. Nevertheless the connection pool should be
              able to cope with this.
              Can you provide any solution for this ? Or give us hints what can cause the problem
              

    Zhenhao Qi wrote:
    thanks! Joe.
    The SQL statement itself can no longer be simplified, the long excuation time is due to the database size and complicated Select criteria. I can easily reproduce the problem by using this SQL. I tried "BEA's Oracle driver (Type 4): Version 8.1.7,9.0.1,9.2.0". the question can be dissect into 2 pieces:
    1) why the jdbc connection (using oracle.jdbc.OracleDriver) won't return anything if the SQL execution time > 5min, that is probably the Oracle's problem
    2) why the occupied connection pool won't release even I set "Statementtimeout=600", this is Weblogic's problem.
    ZhenhaoHi. Yes, (1) is oracle's problem. (2) may also be. The JDBC spec has very few
    allowances for one thread to interrupt a second thread's JDBC call. If we
    transmit your timeout request by calling setQueryTimeout() on the oracle
    statement, and if you have a weblogic-controlled transaction we call
    Statement.cancel() on any ongoing statement, we end up relying on whether
    the Oracle driver implements and responds to those calls.
    Are you doing weblogic-controlled transactions? Are you/can you
    call Statement.setQueryTimeout() on your statements, or are these
    generated JDBC queries?
    If you can duplicate the problem using the weblogic.jdbc.oracle.OracleDriver
    we have some other debug avenues. This would be good even if you really
    want to use the thin driver, because we will do the same JDBC calls to
    either driver, and the debug would prove (if) we set up a query timeout
    and if we call cancel(). If we do, then we can know that it is the Oracle
    driver failing in these regards.
    Joe

  • Toplink JPA: jdbc connection access required

    I have a strong reason why direct access to the connections used by Toplink JPA is required: for each connection I need to execute
    - a "set role" to grant permissions,
    - "set lock mode" to prevent hangups,
    - "set isolation" to get the correct transaction type,
    - possibly a "set explain on" to get query costs info,
    - and a "set constraints all deferred" to have constraints checked at commit time, not earlier.
    Can the Toplink pooling mechanism be replaced?

    You can use either an external data source from your container or an JDBC data source for that matter but you cannot replace the internal connection pool. Although one option may be to use a wrapped connection pool of your own I would first recommend looking at the SessionEventListener callbacks. Implementing this interface and registering it using a SessionCustomizer (persistence unit property) would allow you to be notified and get access to the JDBC connection when acquired and released from either pooling mechanism.
    Here is an example:
    public class JDBCConnectionListener extends SessionEventAdapter implements SessionCustomizer {
         * This method is used when this class is configured as the session customizer
         * in the persistence unit properties.
        public void customize(Session session) {
            session.getEventManager().addListener(this);
         * This event is raised after a connection is acquired from a connection pool.
        public void postAcquireConnection(SessionEvent event) {
            DatabaseAccessor da = (DatabaseAccessor)event.getResult();
            Connection con = da.getConnection();
            PreparedStatement statement;
            try {
                event.getSession().log(SessionLog.FINE, SessionLog.SQL, "POST-ACQUIRE> SELECT SYSDATE FROM DUAL");
                statement = con.prepareStatement("SELECT SYSDATE FROM DUAL");
                ResultSet rs = statement.executeQuery();
                rs.close();
            } catch (SQLException e) {
                // TODO
         * This event is raised before a connection is released into a connection pool.
        public void preReleaseConnection(SessionEvent event) {
    }Doug

  • Pooled jdbc connection(s), and server resources

    Hello All,
    I am curious about the difference between jdbc connections in a connections pool, and 'stand alone' connection. I have Oracle 9.2
    To describe...
    In my application server (WebLogic) I have a connection pool, with 10 connections. Does this take less server resources than 10 separate connections? I notice that there are still 10 server processes appearing.
    thanks!
    JM
    the jdbc Programmer's Guide and Reference says...
    (( start quote ))
    A pooled connection instance encapsulates a physical connection to a database. This
    database would be the one specified in the connection properties of the connection
    pool data source instance used to produce the pooled connection instance.
    A pooled connection instance is an instance of a class that implements the standard
    javax.sql.PooledConnection interface. The getConnection() method
    specified by this interface returns a logical connection instance that acts as a
    temporary handle to the physical connection, as opposed to encapsulating the
    physical connection, as does a non-pooling connection instance:
    (( end quote ))
    ...I had the impression that a connection pool of 10, results in one 'physical' connection. But it appears not!

    No, and yes...
    A pool of 10 connections creates 10 physical database connections, which require exactly the same resources as 10 connections from a standalone Java app or 10 connections from SQL*Plus.
    The connection pool, however, allows those 10 physical connections to server one the order of 100 logical connections (in an average OLTP application). If you have a JSP page that opens a connection, runs a couple of DML statements, and closes the connection, having a connection pool greatly reduces the load on the database because it does not have to create a new physical connection for every JSP page-- the JSP page gets a connection from the pool, uses it for a bit, and returns it to the pool where it can be assigned to another JSP page. Because each user only needs the connection a small percentage of the time, you can server many physical users with only 1 physical database connection.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Error retrieving JDBC connection from remote client (WLS 10.0)

    Hallo,
    I get an error when I try to retrieve a JDBC connection from a WLS datasource using a remote client. My Weblogic server version is: WebLogic Server 10.0 MP1 Thu Oct 18 20:17:44 EDT 2007 1005184
    I use the following code to retrieve the JDBC connection:
    Hashtable<String,String> ctxEnv = null;
    InitialContext ctx = null;
    DataSource dataSource = null;
    Connection con = null;
    ctxEnv = new Hashtable<String,String>();
    ctxEnv.put(InitialContext.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    ctxEnv.put(InitialContext.PROVIDER_URL, "t3://localhost:7001");
    ctx = new InitialContext(ctxEnv);
    dataSource = (DataSource) ctx.lookup("datasources/XXX");
    con = dataSource.getConnection();
    When I execute this code with the weblogic.jar in the classpath everything works fine. However, when I put the wlfullclient.jar in the classpath which I created using the JAR Builder Tool I get the follwoing error:
    weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception
    at weblogic.jdbc.common.internal.RmiDataSource_1001_WLStub.getConnection(Unknown Source)
    at net.schufa.enterprise.utilities.database.test.JDBCSupportTest.test_getConnection_manually(JDBCSupportTest.java:34)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    Caused by: weblogic.rjvm.PeerGoneException: ; nested exception is:
    weblogic.utils.NestedException: java.lang.NoClassDefFoundError: weblogic/diagnostics/instrumentation/InstrumentationDebug
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:221)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
    ... 17 more
    Caused by: weblogic.utils.NestedException: java.lang.NoClassDefFoundError: weblogic/diagnostics/instrumentation/InstrumentationDebug
    at weblogic.rjvm.RJVMImpl.gotExceptionReceiving(RJVMImpl.java:938)
    at weblogic.rjvm.ConnectionManager.gotExceptionReceiving(ConnectionManager.java:1009)
    at weblogic.rjvm.MsgAbbrevJVMConnection.gotExceptionReceiving(MsgAbbrevJVMConnection.java:452)
    at weblogic.rjvm.t3.MuxableSocketT3.hasException(MuxableSocketT3.java:373)
    at weblogic.socket.SocketMuxer.deliverExceptionAndCleanup(SocketMuxer.java:755)
    at weblogic.socket.SocketMuxer.deliverHasException(SocketMuxer.java:708)
    at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:307)
    at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
    at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
    Caused by: java.lang.NoClassDefFoundError: weblogic/diagnostics/instrumentation/InstrumentationDebug
    at weblogic.diagnostics.instrumentation.rtsupport.InstrumentationSupportImpl.getMonitor(InstrumentationSupportImpl.java:54)
    at weblogic.diagnostics.instrumentation.InstrumentationSupport.getMonitor(InstrumentationSupport.java:201)
    at weblogic.jdbc.rmi.SerialConnection.<clinit>(SerialConnection.java)
    at sun.misc.Unsafe.ensureClassInitialized(Native Method)
    at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
    at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
    at java.lang.reflect.Field.acquireFieldAccessor(Field.java:917)
    at java.lang.reflect.Field.getFieldAccessor(Field.java:898)
    at java.lang.reflect.Field.getLong(Field.java:527)
    at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1586)
    at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:52)
    at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:408)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:400)
    at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:297)
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:531)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1292)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
    at weblogic.rjvm.ClassTableEntry.readExternal(ClassTableEntry.java:36)
    at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1755)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
    at weblogic.rjvm.InboundMsgAbbrev.readObject(InboundMsgAbbrev.java:65)
    at weblogic.rjvm.InboundMsgAbbrev.read(InboundMsgAbbrev.java:37)
    at weblogic.rjvm.MsgAbbrevJVMConnection.readMsgAbbrevs(MsgAbbrevJVMConnection.java:223)
    at weblogic.rjvm.MsgAbbrevInputStream.init(MsgAbbrevInputStream.java:174)
    at weblogic.rjvm.MsgAbbrevJVMConnection.dispatch(MsgAbbrevJVMConnection.java:435)
    at weblogic.rjvm.t3.MuxableSocketT3.dispatch(MuxableSocketT3.java:368)
    at weblogic.socket.AbstractMuxableSocket.dispatch(AbstractMuxableSocket.java:383)
    at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:872)
    at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:808)
    at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:283)
    ... 4 more
    Can please anyone tell me what's going on there? What really astonishes me is that the class mentioned in the stacktrace is neither present in the wlfullclient.jar nor in the weblogic.jar, but using the weblogic.jar everything works fine. Any hint would be appreciated so much ...
    Here is the log written when is created the wlfullclient.jar:
    C:\Programme\bea\weblogic10.0\server\lib>java -jar ../../../modules/com.bea.core.jarbuilder_1.0.1.0.jar
    Setting Manifest:Class-Path = schema/weblogic-container-binding.jar schema/weblogic-domain-binding.jar schema/diagnostic
    s-binding.jar schema/diagnostics-image-binding.jar schema/kodo-conf-binding.jar wlcipher.jar xmlx.jar ojdbc14.jar jconn2
    .jar jConnect.jar EccpressoAsn1.jar EccpressoCore.jar EccpressoJcae.jar mysql-connector-java-commercial-5.0.3-bin.jar w
    lbase.jar wlutil.jar wlsqlserver.jar wldb2.jar wlsybase.jar wloracle.jar wlinformix.jar wlw-langx.jar ../../common/lib/p
    dev.jar debugging.jar wlw-system.jar ../../javelin/lib/javelinx.jar jcom.jar weblogic-L10N.jar
    Setting Manifest:Implementation-Vendor = BEA Systems
    Setting Manifest:Implementation-Title = Client jar for WebLogic Server 10.0 Thu Oct 18 20:17:44 EDT 2007 1005184
    Setting Manifest:Implementation-Version = 10.0.1.0
    Creating new jar file: wlfullclient.jar
    Integrating jar -->(0)/(0)/C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Integrating jar <--(0)/(31337)/(31337)/C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Integrating jar -->(0)/(31337)/C:\Programme\bea\modules\features\weblogic.client.modules_10.0.1.0.jar
    Integrating jar <--(0)/(31337)/(0)/C:\Programme\bea\modules\features\weblogic.client.modules_10.0.1.0.jar
    Integrating jar -->(1)/(31337)/C:\Programme\bea\modules\features\weblogic.client.modules.L10N_10.0.1.0.jar
    Integrating jar <--(1)/(31337)/(0)/C:\Programme\bea\modules\features\weblogic.client.modules.L10N_10.0.1.0.jar
    Ignoring unresolved jarC:\Programme\bea\modules\features\weblogic.client.modules.ja_10.0.1.0.jar
    Ignoring unresolved jarC:\Programme\bea\modules\features\weblogic.client.modules.ko_10.0.1.0.jar
    Ignoring unresolved jarC:\Programme\bea\modules\features\weblogic.client.modules.zh.CN_10.0.1.0.jar
    Ignoring unresolved jarC:\Programme\bea\modules\features\weblogic.client.modules.zh.TW_10.0.1.0.jar
    Integrating jar -->(1)/(31337)/C:\Programme\bea\modules\com.bea.core.antlr.runtime_2.7.5.jar
    Integrating jar <--(1)/(31410)/(73)/C:\Programme\bea\modules\com.bea.core.antlr.runtime_2.7.5.jar
    Integrating jar -->(1)/(31410)/C:\Programme\bea\modules\com.bea.core.logging_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/i18n/i18n.properties also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Integrating jar <--(1)/(31487)/(77)/C:\Programme\bea\modules\com.bea.core.logging_1.0.1.0.jar
    Integrating jar -->(1)/(31487)/C:\Programme\bea\modules\com.bea.core.xml.staxb.runtime_1.0.1.0.jar
    Integrating jar <--(1)/(32047)/(560)/C:\Programme\bea\modules\com.bea.core.xml.staxb.runtime_1.0.1.0.jar
    Integrating jar -->(1)/(32047)/C:\Programme\bea\modules\com.bea.core.annogen_1.0.1.0.jar
    Integrating jar <--(1)/(32265)/(218)/C:\Programme\bea\modules\com.bea.core.annogen_1.0.1.0.jar
    Integrating jar -->(1)/(32265)/C:\Programme\bea\modules\com.bea.core.process_5.3.0.0.jar
    Integrating jar <--(1)/(32277)/(12)/C:\Programme\bea\modules\com.bea.core.process_5.3.0.0.jar
    Integrating jar -->(1)/(32277)/C:\Programme\bea\modules\com.bea.core.common.engine.impl_2.0.1.0.jar
    Integrating jar <--(1)/(32294)/(17)/C:\Programme\bea\modules\com.bea.core.common.engine.impl_2.0.1.0.jar
    Integrating jar -->(1)/(32294)/C:\Programme\bea\modules\com.bea.core.common.engine.api_2.0.1.0.jar
    Integrating jar <--(1)/(32321)/(27)/C:\Programme\bea\modules\com.bea.core.common.engine.api_2.0.1.0.jar
    Integrating jar -->(1)/(32321)/C:\Programme\bea\modules\com.bea.core.common.security.api_2.0.1.0.jar
    Integrating jar <--(1)/(32446)/(125)/C:\Programme\bea\modules\com.bea.core.common.security.api_2.0.1.0.jar
    Integrating jar -->(1)/(32446)/C:\Programme\bea\modules\com.bea.core.common.security.impl_2.0.1.0.jar
    Integrating jar <--(1)/(32895)/(449)/C:\Programme\bea\modules\com.bea.core.common.security.impl_2.0.1.0.jar
    Integrating jar -->(1)/(32895)/C:\Programme\bea\modules\com.bea.core.common.security.jdkutils_2.0.1.0.jar
    Integrating jar <--(1)/(32908)/(13)/C:\Programme\bea\modules\com.bea.core.common.security.jdkutils_2.0.1.0.jar
    Integrating jar -->(1)/(32908)/C:\Programme\bea\modules\com.bea.core.common.security.utils_2.0.1.0.jar
    Integrating jar <--(1)/(32963)/(55)/C:\Programme\bea\modules\com.bea.core.common.security.utils_2.0.1.0.jar
    Integrating jar -->(1)/(32963)/C:\Programme\bea\modules\com.bea.core.common.security.providers.utils_2.0.1.0.jar
    Ignoring Duplicate Entry com/bea/common/security/ProvidersLogger$LoggableMessageSpiImpl.class also in C:\Programme\bea\modules\com.bea.core.common.security.api_2.0.1.0.jar
    Ignoring Duplicate Entry com/bea/common/security/ProvidersLogger.class also in C:\Programme\bea\modules\com.bea.core.common.security.api_2.0.1.0.jar
    Integrating jar <--(1)/(33817)/(854)/C:\Programme\bea\modules\com.bea.core.common.security.providers.utils_2.0.1.0.jar
    Integrating jar -->(1)/(33817)/C:\Programme\bea\modules\com.bea.core.common.security.providers.env_2.0.1.0.jar
    Integrating jar <--(1)/(33901)/(84)/C:\Programme\bea\modules\com.bea.core.common.security.providers.env_2.0.1.0.jar
    Integrating jar -->(1)/(33901)/C:\Programme\bea\modules\javax.activation_1.1.jar
    Integrating jar <--(1)/(33945)/(44)/C:\Programme\bea\modules\javax.activation_1.1.jar
    Integrating jar -->(1)/(33945)/C:\Programme\bea\modules\javax.annotation_1.0.jar
    Integrating jar <--(1)/(33958)/(13)/C:\Programme\bea\modules\javax.annotation_1.0.jar
    Integrating jar -->(1)/(33958)/C:\Programme\bea\modules\javax.interceptor_1.0.jar
    Integrating jar <--(1)/(33964)/(6)/C:\Programme\bea\modules\javax.interceptor_1.0.jar
    Integrating jar -->(1)/(33964)/C:\Programme\bea\modules\javax.ejb_3.0.jar
    Integrating jar <--(1)/(34022)/(58)/C:\Programme\bea\modules\javax.ejb_3.0.jar
    Integrating jar -->(1)/(34022)/C:\Programme\bea\modules\javax.jdo_2.0.jar
    Integrating jar <--(1)/(34119)/(97)/C:\Programme\bea\modules\javax.jdo_2.0.jar
    Integrating jar -->(1)/(34119)/C:\Programme\bea\modules\javax.enterprise.deploy_1.2.jar
    Integrating jar <--(1)/(34162)/(43)/C:\Programme\bea\modules\javax.enterprise.deploy_1.2.jar
    Integrating jar -->(1)/(34162)/C:\Programme\bea\modules\javax.jms_1.1.jar
    Integrating jar <--(1)/(34221)/(59)/C:\Programme\bea\modules\javax.jms_1.1.jar
    Integrating jar -->(1)/(34221)/C:\Programme\bea\modules\javax.jsp_1.0.1.0_2-1.jar
    Integrating jar <--(1)/(34319)/(98)/C:\Programme\bea\modules\javax.jsp_1.0.1.0_2-1.jar
    Integrating jar -->(1)/(34319)/C:\Programme\bea\modules\javax.jws_2.0.jar
    Integrating jar <--(1)/(34335)/(16)/C:\Programme\bea\modules\javax.jws_2.0.jar
    Integrating jar -->(1)/(34335)/C:\Programme\bea\modules\javax.mail_1.4.0.2.jar
    Integrating jar <--(1)/(34602)/(267)/C:\Programme\bea\modules\javax.mail_1.4.0.2.jar
    Integrating jar -->(1)/(34602)/C:\Programme\bea\modules\javax.management.j2ee_1.0.jar
    Integrating jar <--(1)/(34637)/(35)/C:\Programme\bea\modules\javax.management.j2ee_1.0.jar
    Integrating jar -->(1)/(34637)/C:\Programme\bea\modules\javax.persistence_1.0.1.0_1-0.jar
    Integrating jar <--(1)/(34730)/(93)/C:\Programme\bea\modules\javax.persistence_1.0.1.0_1-0.jar
    Integrating jar -->(1)/(34730)/C:\Programme\bea\modules\javax.resource_1.5.jar
    Integrating jar <--(1)/(34799)/(69)/C:\Programme\bea\modules\javax.resource_1.5.jar
    Integrating jar -->(1)/(34799)/C:\Programme\bea\modules\javax.servlet_1.0.1.0_2-5.jar
    Integrating jar <--(1)/(34869)/(70)/C:\Programme\bea\modules\javax.servlet_1.0.1.0_2-5.jar
    Integrating jar -->(1)/(34869)/C:\Programme\bea\modules\javax.transaction_1.1.jar
    Integrating jar <--(1)/(34889)/(20)/C:\Programme\bea\modules\javax.transaction_1.1.jar
    Integrating jar -->(1)/(34889)/C:\Programme\bea\modules\javax.xml.bind_2.0.jar
    Integrating jar <--(1)/(34989)/(100)/C:\Programme\bea\modules\javax.xml.bind_2.0.jar
    Integrating jar -->(1)/(34989)/C:\Programme\bea\modules\javax.xml.soap_1.3.0.0.jar
    Integrating jar <--(1)/(35019)/(30)/C:\Programme\bea\modules\javax.xml.soap_1.3.0.0.jar
    Ignoring unresolved jarC:\Programme\bea\modules\jaxp-api.jar
    Ignoring unresolved jarC:\Programme\bea\modules\jax-qname.jar
    Ignoring unresolved jarC:\Programme\bea\modules\activation.jar
    Ignoring unresolved jarC:\Programme\bea\modules\servlet.jar
    Integrating jar -->(1)/(35019)/C:\Programme\bea\modules\javax.xml.stream_1.0.1.0_1-0.jar
    Integrating jar <--(1)/(35063)/(44)/C:\Programme\bea\modules\javax.xml.stream_1.0.1.0_1-0.jar
    Integrating jar -->(1)/(35063)/C:\Programme\bea\modules\javax.xml.ws_2.0.jar
    Integrating jar <--(1)/(35110)/(47)/C:\Programme\bea\modules\javax.xml.ws_2.0.jar
    Integrating jar -->(1)/(35110)/C:\Programme\bea\modules\javax.xml.rpc_1.1.jar
    Ignoring Duplicate Entry javax/xml/namespace/QName.class also in C:\Programme\bea\modules\javax.xml.stream_1.0.1.0_1-0.jar
    Integrating jar <--(1)/(35167)/(57)/C:\Programme\bea\modules\javax.xml.rpc_1.1.jar
    Integrating jar -->(1)/(35167)/C:\Programme\bea\modules\com.bea.core.jsafe_3.5.0.jar
    Integrating jar <--(1)/(35423)/(256)/C:\Programme\bea\modules\com.bea.core.jsafe_3.5.0.jar
    Integrating jar -->(1)/(35423)/C:\Programme\bea\modules\com.bea.core.apache_1.0.1.0.jar
    Integrating jar <--(1)/(36825)/(1402)/C:\Programme\bea\modules\com.bea.core.apache_1.0.1.0.jar
    Integrating jar -->(1)/(36825)/C:\Programme\bea\modules\com.bea.core.beangen_1.0.1.0.jar
    Integrating jar <--(1)/(36964)/(139)/C:\Programme\bea\modules\com.bea.core.beangen_1.0.1.0.jar
    Integrating jar -->(1)/(36964)/C:\Programme\bea\modules\com.bea.core.beaninfo_1.0.1.0.jar
    Integrating jar <--(1)/(36976)/(12)/C:\Programme\bea\modules\com.bea.core.beaninfo_1.0.1.0.jar
    Integrating jar -->(1)/(36976)/C:\Programme\bea\modules\com.bea.core.datasource_1.0.1.0.jar
    Ignoring Duplicate Entry utils/Schema.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry utils/dbping.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry weblogic/i18n/i18n.properties also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry weblogic/j2ee/descriptor/wl/JDBCConnectionPoolParamsBean.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry weblogic/j2ee/descriptor/wl/JDBCDataSourceBean.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry weblogic/j2ee/descriptor/wl/JDBCDataSourceParamsBean.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry weblogic/j2ee/descriptor/wl/JDBCDriverParamsBean.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry weblogic/j2ee/descriptor/wl/JDBCPropertiesBean.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry weblogic/j2ee/descriptor/wl/JDBCPropertyBean.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry weblogic/j2ee/descriptor/wl/JDBCXAParamsBean.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Integrating jar <--(1)/(37133)/(157)/C:\Programme\bea\modules\com.bea.core.datasource_1.0.1.0.jar
    Integrating jar -->(1)/(37133)/C:\Programme\bea\modules\com.bea.core.descriptor_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/descriptor/SettableBean.class also in C:\Programme\bea\modules\com.bea.core.datasource_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/descriptor/beangen/LegalChecks.class also in C:\Programme\bea\modules\com.bea.core.beangen_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/descriptor/beangen/StringHelper.class also in C:\Programme\bea\modules\com.bea.core.beangen_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/descriptor/beangen/XMLHelper.class also in C:\Programme\bea\modules\com.bea.core.beangen_1.0.1.0.jar
    Integrating jar <--(1)/(37226)/(93)/C:\Programme\bea\modules\com.bea.core.descriptor_1.0.1.0.jar
    Integrating jar -->(1)/(37226)/C:\Programme\bea\modules\com.bea.core.diagnostics.core_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/diagnostics/type/UnexpectedExceptionHandler.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry weblogic/i18n/i18n.properties also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Integrating jar <--(1)/(37264)/(38)/C:\Programme\bea\modules\com.bea.core.diagnostics.core_1.0.1.0.jar
    Integrating jar -->(1)/(37264)/C:\Programme\bea\modules\com.bea.core.i18n_1.0.1.0.jar
    Integrating jar <--(1)/(37289)/(25)/C:\Programme\bea\modules\com.bea.core.i18n_1.0.1.0.jar
    Integrating jar -->(1)/(37289)/C:\Programme\bea\modules\com.bea.core.i18n.generator_1.0.1.0.jar
    Integrating jar <--(1)/(37335)/(46)/C:\Programme\bea\modules\com.bea.core.i18n.generator_1.0.1.0.jar
    Integrating jar -->(1)/(37335)/C:\Programme\bea\modules\com.bea.core.management.core_1.0.1.0.jar
    Integrating jar <--(1)/(37343)/(8)/C:\Programme\bea\modules\com.bea.core.management.core_1.0.1.0.jar
    Integrating jar -->(1)/(37343)/C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Integrating jar <--(1)/(37389)/(46)/C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Integrating jar -->(1)/(37389)/C:\Programme\bea\modules\com.bea.core.mbean.support_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/AbstractCommoConfigurationBean$Helper.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/AbstractCommoConfigurationBean.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/AbstractCommoConfigurationBeanBinder.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/AbstractCommoConfigurationBeanImplBeanInfo.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/BaseModelMBean.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/Commo$Pair.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/Commo.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/CommoMBean.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/CommoMBeanInstance.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/CommoModelMBeanAttributeInfo.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/CommoModelMBeanConstructorInfo.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/CommoModelMBeanInfoSupport.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/CommoModelMBeanNotificationInfo.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/CommoModelMBeanOperationInfo.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/CommoOperationsException.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/DescriptorSupport$1.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/DescriptorSupport$Pair.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/DescriptorSupport$VoidValue.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/DescriptorSupport.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/DescriptorSupportBase.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/RequiredModelMBeanWrapper.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/SecurityMBeanData.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/StandardInterface.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/TypedMBeanData.class also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/ant/taskdefs/management/commo/antlib.xml also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/CustomMBeanImpl.j also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/DiabloCustomMBeanIntf.j also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/commo/commo.dtd also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/management/internal/mbean/SecurityReadOnlyMBean.template also in C:\Programme\bea\modules\com.bea.core.mbean.maker_1.0.1.0.jar
    Integrating jar <--(1)/(37389)/(0)/C:\Programme\bea\modules\com.bea.core.mbean.support_1.0.1.0.jar
    Integrating jar -->(1)/(37389)/C:\Programme\bea\modules\com.bea.core.messaging.kernel_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/i18n/i18n.properties also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Integrating jar <--(1)/(37548)/(159)/C:\Programme\bea\modules\com.bea.core.messaging.kernel_1.0.1.0.jar
    Integrating jar -->(1)/(37548)/C:\Programme\bea\modules\com.bea.core.resourcepool_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/i18n/i18n.properties also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Integrating jar <--(1)/(37583)/(35)/C:\Programme\bea\modules\com.bea.core.resourcepool_1.0.1.0.jar
    Integrating jar -->(1)/(37583)/C:\Programme\bea\modules\com.bea.core.weblogic.rmi.client_1.0.1.0.jar
    Ignoring Duplicate Entry weblogic/rmi/extensions/server/_HeartbeatHelper_Stub.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Integrating jar <--(1)/(37612)/(29)/C:\Programme\bea\modules\com.bea.core.weblogic.rmi.client_1.0.1.0.jar
    Integrating jar -->(1)/(37612)/C:\Programme\bea\modules\com.bea.core.weblogic.security.wls_2.0.1.0.jar
    Integrating jar <--(1)/(38016)/(404)/C:\Programme\bea\modules\com.bea.core.weblogic.security.wls_2.0.1.0.jar
    Integrating jar -->(1)/(38016)/C:\Programme\bea\modules\com.bea.core.weblogic.saaj_1.0.1.0.jar
    Integrating jar <--(1)/(38217)/(201)/C:\Programme\bea\modules\com.bea.core.weblogic.saaj_1.0.1.0.jar
    Integrating jar -->(1)/(38217)/C:\Programme\bea\modules\com.bea.core.weblogic.stax_1.0.1.0.jar
    Integrating jar <--(1)/(38543)/(326)/C:\Programme\bea\modules\com.bea.core.weblogic.stax_1.0.1.0.jar
    Integrating jar -->(1)/(38543)/C:\Programme\bea\modules\com.bea.core.store_1.0.1.0.jar
    Skipping native/aix/ppc64/libwlfileio2.so
    Skipping native/aix/ppc/libwlfileio2.so
    Skipping native/hpux11/IPF32/libwlfileio2.so
    Skipping native/hpux11/IPF64/libwlfileio2.so
    Skipping native/hpux11/PA_RISC64/libwlfileio2.sl
    Skipping native/hpux11/PA_RISC/libwlfileio2.sl
    Skipping native/linux/i686/libwlfileio2.so
    Skipping native/linux/ia64/libwlfileio2.so
    Skipping native/linux/x86_64/libwlfileio2.so
    Skipping native/solaris/sparc64/libwlfileio2.so
    Skipping native/solaris/sparc/libwlfileio2.so
    Skipping native/solaris/x64/libwlfileio2.so
    Skipping native/solaris/x86/libwlfileio2.so
    Skipping native/win/32/wlfileio2.dll
    Skipping native/win/64/wlfileio2.dll
    Skipping native/win/x64/wlfileio2.dll
    Ignoring Duplicate Entry weblogic/i18n/i18n.properties also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Integrating jar <--(1)/(38695)/(152)/C:\Programme\bea\modules\com.bea.core.store_1.0.1.0.jar
    Integrating jar -->(1)/(38695)/C:\Programme\bea\modules\com.bea.core.store.gxa_1.0.1.0.jar
    Integrating jar <--(1)/(38728)/(33)/C:\Programme\bea\modules\com.bea.core.store.gxa_1.0.1.0.jar
    Integrating jar -->(1)/(38728)/C:\Programme\bea\modules\com.bea.core.transaction_2.0.1.0.jar
    Ignoring Duplicate Entry weblogic/i18n/i18n.properties also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Integrating jar <--(1)/(38943)/(215)/C:\Programme\bea\modules\com.bea.core.transaction_2.0.1.0.jar
    Integrating jar -->(1)/(38943)/C:\Programme\bea\modules\com.bea.core.utils.full_1.0.1.0.jar
    Skipping native/aix/ppc64/libterminalio.so
    Skipping native/aix/ppc/libterminalio.so
    Skipping native/hpux11/IPF32/libterminalio.so
    Skipping native/hpux11/IPF64/libterminalio.so
    Skipping native/hpux11/PA_RISC64/libterminalio.sl
    Skipping native/hpux11/PA_RISC/libterminalio.sl
    Skipping native/linux/i686/libterminalio.so
    Skipping native/linux/ia64/libterminalio.so
    Skipping native/linux/s3990/libterminalio.so
    Skipping native/linux/x86_64/libterminalio.so
    Skipping native/macosx/pps/libterminalio.jnilib
    Skipping native/solaris/sparc64/libterminalio.so
    Skipping native/solaris/sparc/libterminalio.so
    Skipping native/solaris/x64/libterminalio.so
    Skipping native/solaris/x86/libterminalio.so
    Skipping native/win/32/terminalio.dll
    Skipping native/win/64/terminalio.dll
    Skipping native/win/x64/terminalio.dll
    Ignoring Duplicate Entry weblogic/utils/StackTraceUtilsClient.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Integrating jar <--(1)/(39367)/(424)/C:\Programme\bea\modules\com.bea.core.utils.full_1.0.1.0.jar
    Integrating jar -->(1)/(39367)/C:\Programme\bea\modules\com.bea.core.utils.classloaders_1.0.1.0.jar
    Integrating jar <--(1)/(39415)/(48)/C:\Programme\bea\modules\com.bea.core.utils.classloaders_1.0.1.0.jar
    Integrating jar -->(1)/(39415)/C:\Programme\bea\modules\com.bea.core.utils.expressions_1.0.1.0.jar
    Integrating jar <--(1)/(39429)/(14)/C:\Programme\bea\modules\com.bea.core.utils.expressions_1.0.1.0.jar
    Integrating jar -->(1)/(39429)/C:\Programme\bea\modules\com.bea.core.utils.wrapper_1.0.1.0.jar
    Integrating jar <--(1)/(39550)/(121)/C:\Programme\bea\modules\com.bea.core.utils.wrapper_1.0.1.0.jar
    Integrating jar -->(1)/(39550)/C:\Programme\bea\modules\com.bea.core.timers_1.0.1.0.jar
    Ignoring Duplicate Entry commonj/timers/CancelTimerListener.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry commonj/timers/StopTimerListener.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry commonj/timers/Timer.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry commonj/timers/TimerListener.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry commonj/timers/TimerManager.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Integrating jar <--(1)/(39581)/(31)/C:\Programme\bea\modules\com.bea.core.timers_1.0.1.0.jar
    Integrating jar -->(1)/(39581)/C:\Programme\bea\modules\com.bea.core.weblogic.workmanager_1.0.1.0.jar
    Ignoring Duplicate Entry commonj/work/RemoteWorkItem.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry commonj/work/Work.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry commonj/work/WorkCompletedException.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry commonj/work/WorkEvent.class also in C:\Programme\bea\weblogic10.0\server\lib\weblogic.jar
    Ignoring Duplicate Entry commonj/work/WorkExcep

    Dirk Ludwig wrote:
    Joe Weinstein wrote:[...]
    Hi. You should open an official support case,
    but it may be that we do not support
    external client JDBC with the client jar.Actually, I misspoke. I think we do supply a client
    jar, and that may be true
    what I said, but I see you're making your own. Can
    you find out what jar you're
    loading the InstrumentationSupport class from? That's
    the original location of
    the error, and that class doesn't exist in 10.0.Hi Joe, thanks for your reply.
    First of all, let me clarify what we did and why we did it: We have a stand-alone client application that needs to communicate with a Weblogic server using the t3 protocol (we don't want IIOP or HTTP tunneling). According to the official BEA documentation (see http://e-docs.bea.com/wls/docs100/client/basics.html and http://e-docs.bea.com/wls/docs100/client/t3.html) we needed to create the wlfullclient.jar file. We did this using the Weblogic JAR Builder Tool (see http://e-docs.bea.com/wls/docs100/client/jarbuilder.html). Unfortunatley we discovered the problem mentioned in my original post when we tried to run the client with that wlfullclient.jar.
    Regarding your classloading question: The InstrumentationSupportImpl class is located in the wlfullclient.jar, so it does exist in WLS 10.0 (it is also contained in the weblogic.jar). Unfortunately this JAR does not contain the required class "weblogic.diagnostics.instrumentation.InstrumentationDebug". I searched for this class and found it in the OSGI module "com.bea.core.diagnostics.instrumentor_1.0.1.0.jar" shipped with the Weblogic server. Obviously the JAR Builder Tool did not include the contents of this OSGI bundle into the wlfullclient.jar. I tried to include this OSGI bundle into the classpath of the client app manually (just for testing purposes), but this onyl resultet in another NoClassDefFoundError. This time the class "com.bea.objectweb.asm.Constants" could not be found.
    What astonishes me is the fact that the connection retrieval works fine when we only have the weblogic.jar in the client applications classpath, but fails when we have the wlfullclient.jar in the classpaht. It seems that the t3 communication is handled completely different, depending on what JARs I have in the classpath. Also, JMS communication works fine in both cases (i.e. for the weblogic.jar and the wlfullclient.jar). The only thing that causes problems (at least as far as we have discovered) is getting a JDBC connection from a datasource. I simply fail to see why this is the case.
    Best regards,
    DirkInteresting. I hope the official support case solves your problem.
    I would like to dig further, but it's too far afield for me with
    the workload I have at the moment.
    Joe

  • Load balancing to JDBC connection pool

    from http://e-docs.bea.com/wls/docs61///////cluster/overview.html
    "WebLogic Server provides limited load balancing support for managing JDBC
    connections in a cluster. If you create an identical JDBC DataSource in each
    clustered WebLogic Server instance and configure those DataSources to use
    different connection pools, the cluster can support load balancing for JDBC
    connections. Note, however, that WebLogic Server provides no special load
    balancing policies for accessing connection pools. If one of your connection
    pools runs out of JDBC connections, the load balancing algorithm may still
    direct connection requests to the empty pool."
    How is this different from creating one connection pool with one datasource
    and targetting the cluster. Are they talking about load-balancing to
    different databases, or different servers in WLS. from a servlet or from a
    client side app?
    Can anyone elaborate?
    Thanks in advance.

    hi,
    without knowing the entire set of requirements or the motivation behind doing this, a few words from me
    this is usually done transparently to the applications server, that is having eg. Oracle instances mirroring eachother for extreme high-availability requirements.
    1. I would have taken the liberty of calling this business funcionality and let my middleware do the implementation of this. The most elegant solution would probably be to call the master DB for the CUD operation, then post a message to a queue letting the slave DB be updated asynchronously. If the message could not be sent, throw an exception and have the entire operation rolled back.
    If however this must happen realtime and transactions must be consistent, there are a few points to consider. And the quieing bit would not work.
    if this is something that should be done for all Create, Update and Delete operations, an intercepting JDBC driver could do the trick. Although there are all sorts of different problems that could arise from this, for starters, at least one of the DBMS involved here should be XA compliant. If the entire transaction should be XA compliant, both DBMS must be XA compliant. Next as for the transaction towards the "mirroring" DBMS you would have to do all the transaction stuff your self.
    For an example of an intercepting JDBC driver, I found thisone
    http://media.datadirect.com/download/docs/jdbc/jdbcref/spy.html
    I would guess that there are quite a few more.
    - [url http://blog.thej2eestruggle.com]Anders Mathisen
    Edited by anders.mathisen at 01/21/2007 2:53 PM

  • ClassNotFoundException at JDBC connection

    Hi
    1)I have classpath:
    %CATALINA_HOME%\common\lib\servlet.jar;c:\jdk1.4.0_02\lib\tools.jar;c:\java;c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;c:\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;c:\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar
    2) i have 3 java file on my c:\java2 folder.
    3) I test the following code, I got error at:
    ClassNotFoundException: com.microsoft.jdbc.sqlserver....
    Error Trace in getConnection() : com.microsoft.jdbc.sqlserver.SQLServ
    erDriver
    Error: No active Connection
    4) can I compile this code with regular way like
    java2>javac Connect.java
    java2>java Connect
    to compile and run the code?
    Thank you !
    import java.sql.*;
    public class Connect{
    private java.sql.Connection con = null;
    private final String url = "jdbc:microsoft:sqlserver://";
    private final String serverName= "localhost";
    private final String portNumber = "1433";
    private final String databaseName= "pubs";
    private final String userName = "sa";
    private final String password = "ProjectA11";
    // Informs the driver to use server a side-cursor,
    // which permits more than one active statement
    // on a connection.
    private final String selectMethod = "cursor";
    // Constructor
    public Connect(){}
    private String getConnectionUrl(){
    return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
    private java.sql.Connection getConnection(){
    try{
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
    if(con!=null) System.out.println("Connection Successful!");
    }catch(Exception e){
    e.printStackTrace();
    System.out.println("Error Trace in getConnection() : " + e.getMessage());
    return con;
    Display the driver properties, database details
    public void displayDbProperties(){
    java.sql.DatabaseMetaData dm = null;
    java.sql.ResultSet rs = null;
    try{
    con= this.getConnection();
    if(con!=null){
    dm = con.getMetaData();
    System.out.println("Driver Information");
    System.out.println("\tDriver Name: "+ dm.getDriverName());
    System.out.println("\tDriver Version: "+ dm.getDriverVersion ());
    System.out.println("\nDatabase Information ");
    System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName());
    System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion());
    System.out.println("Avalilable Catalogs ");
    rs = dm.getCatalogs();
    while(rs.next()){
    System.out.println("\tcatalog: "+ rs.getString(1));
    rs.close();
    rs = null;
    closeConnection();
    }else System.out.println("Error: No active Connection");
    }catch(Exception e){
    e.printStackTrace();
    dm=null;
    private void closeConnection(){
    try{
    if(con!=null)
    con.close();
    con=null;
    }catch(Exception e){
    e.printStackTrace();
    public static void main(String[] args) throws Exception
    Connect myDbTest = new Connect();
    myDbTest.displayDbProperties();

    I use the driver available at:
    http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/MSDN-FILES/027/001/779/msdncompositedoc.xml
    no spacesin the above link. Once installed, read the following:
    If you still get the same error, this could be some security issue.
    No I dont need any special setup for sql server. Check to make sure your server is running. Also create a new user with password and give it all previleges. Use that user to login and make sure it works then read the below.
    Connecting Through the JDBC Driver Manager
    One way of connecting to a database is through the JDBC driver manager using the method DriverManager.getConnection. This method uses a string containing a URL. The following is an example of using the JDBC driver manager to connect to Microsoft SQL Server 2000 while passing the user name and password:
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Connection conn = DriverManager.getConnection ("jdbc:microsoft:sqlserver://server1:1433;User=test;Password=secret");
    URL Examples
    The complete connection URL format used with the driver manager is:
    jdbc:microsoft:sqlserver://hostname:port[;property=value...]
    where:
    hostname is the TCP/IP address or TCP/IP host name of the server to which you are connecting.
    NOTE: Untrusted applets cannot open a socket to a machine other than the originating host.
    port is the number of the TCP/IP port.
    property=value specifies connection properties. See "Connection String Properties" for a list of connection properties and their values.
    The following example shows a typical connection URL:
    jdbc:microsoft:sqlserver://server1:1433;user=test;password=secret
    IF THE ABOVE STILL DOSENT WORK TRY CONNECTING THRU DATASOURCE.
    Connecting Through Data Sources
    A SQL Server 2000 Driver for JDBC data source is a DataSource object that provides the connection information needed to connect to an underlying database. The main advantage of using a data source is that it works with the Java Naming Directory Interface (JNDI) naming service, and it is created and managed outside of the applications that use it. Because the connection information is outside of applications, the time it takes to reconfigure your infrastructure when a change is made is minimal. For example, if the underlying database is moved to another server and uses another port number, the administrator must change only the relevant properties of the SQL Server 2000 Driver for JDBC data source (a DataSource object). The applications using the underlying database do not need to change because they only refer to the logical name of the SQL Server 2000 Driver for JDBC data source.
    How SQL Server 2000 Driver for JDBC Data Sources Are Implemented
    Microsoft ships a data source class for the SQL Server 2000 Driver for JDBC. See "SQL Server 2000 Driver for JDBC" for the name of the class.
    The SQL Server 2000 Driver for JDBC data source class provided implements the following interfaces defined in the JDBC 2.0 Optional Package:
    javax.sql.DataSource
    javax.sql.ConnectionPoolDataSource, which enables you to implement connection pooling
    NOTE: You must include the javax.sql.* and javax.naming.* classes to create and use SQL Server 2000 Driver for JDBC data sources. The SQL Server 2000 Driver for JDBC provides all the necessary JAR files that contain the required classes and interfaces.
    Calling a Data Source in an Application
    Applications can call a SQL Server 2000 Driver for JDBC data source using a logical name to retrieve the javax.sql.DataSource object. This object loads the SQL Server 2000 Driver for JDBC and can be used to establish a connection to the underlying database.
    Once a SQL Server 2000 Driver for JDBC data source has been registered with JNDI, it can be used by your JDBC application as shown in the following example:
    Context ctx = new InitialContext();
    DataSource ds = (DataSource)ctx.lookup("jdbc/EmployeeDB");
    Connection con = ds.getConnection("matt", "wwf");
    In this example, the JNDI environment is first initialized. Next, the initial naming context is used to find the logical name of the SQL Server 2000 Driver for JDBC data source (EmployeeDB). The Context.lookup() method returns a reference to a Java object, which is narrowed to a javax.sql.DataSource object. Finally, the DataSource.getConnection() method is called to establish a connection with the underlying database.
    Using Connection Pooling
    Connection pooling allows you to reuse connections rather than create a new one every time the SQL Server 2000 Driver for JDBC needs to establish a connection to the underlying database. Connection pooling manages connection sharing across different user requests to maintain performance and reduce the number of new connections that must be created. For example, compare the following transaction sequences.
    Example A: Without Connection Pooling
    The client application creates a connection.
    The client application sends a data access query.
    The client application obtains the result set of the query.
    The client application displays the result set to the end user.
    The client application ends the connection.
    Example B: With Connection Pooling
    The client checks the connection pool for an unused connection.
    If an unused connection exists, it is returned by the pool implementation; otherwise, it creates a new connection.
    The client application sends a data access query.
    The client application obtains the result set of the query.
    The client application displays the result set to the end user.
    The client application returns the connection to the pool.
    NOTE: The client application still calls "close()", but the connection remains open and the pool is notified of the close request.
    The pool implementation creates "real" database connections using the getPooledConnection() method of ConnectionPoolDataSource. Then, the pool implementation registers itself as a listener to the PooledConnection. When a client application requests a connection, the pool implementation (Pool Manager) assigns one of its available connections. If there is no connection available, the Pool Manager establishes a new connection and assigns it to that application. When the client application closes the connection, the Pool Manager is notified by the driver through the ConnectionEventListener interface that the connection is free and available for reuse. The pool implementation is also notified by the ConnectionEventListener interface when the client somehow corrupts the database connection, so that the pool implementation can remove that connection from the pool.
    Once a SQL Server 2000 Driver for JDBC data source has been registered with JNDI, it can be used by your JDBC application as shown in the following example, typically through a third-party connection pool tool:
    Context ctx = new InitialContext();
    ConnectionPoolDataSource ds =
    (ConnectionPoolDataSource)ctx.lookup("jdbc/EmployeeDB");
    pooledConnection pcon = ds.getPooledConnection("matt", "wwf");
    In this example, the JNDI environment is first initialized. Next, the initial naming context is used to find the logical name of the JDBC data source (EmployeeDB). The Context.lookup() method returns a reference to a Java object, which is narrowed to a javax.sql.ConnectionPoolDataSource object. Finally, the ConnectionPoolDataSource.getPooledConnection() method is called to establish a connection with the underlying database.
    NOTE: JDBC drivers do not manage connection pooling. You must use an external connection pool manager.

  • JDBC Connection Driver Problem for Oracle in a J2EE servlet/class

    Hi,
    I am having a big problem with setting up a JDBC connection with my oracle database, I have been trying to fix it for about 6 hours now with no joy, I have read that many threads about JDBC, class paths etc.. that i dont know which way is up any more!!
    Here is the issue:
    (Please bare in mind that I am new to this when posting replies)
    I have a Web Application set up as a project in the netbeans IDE. I have a servlet which creates a new object call dbaseFunc which is a public class I have wrote and within this class is a function called getAppConfigCon(). The code for this function is below:
    public Connection getAppConfigCon()
    Connection con = null;
    try
    Class.forName("oracle.jdbc.driver.OracleDriver");
    con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","cavdev", "password");
    catch (SQLException e)
    e.printStackTrace();
    catch (ClassNotFoundException e)
    e.printStackTrace(System.out);
    return con;
    The database is Oracle XE and is installed on the same machine I am developing on, the database is up and I can connect to it via the netbeans IDE database interface after telling it where the driver is (C:\oracle\product\10.2.0\client_1\jdbc\lib\ojdbc14.zip). Obviously this is just IDE functionality and allows you to browse the database objects from netbeans however I now need to know how to tell the jre where the drivers are, right??
    Well like I said multiple forums led me down the classpath route and I have a system environment variable called CLASSPATH set up with the oracle jdbc driver specified as its value, when i run the set command from the command line ( I am running Windows XP Pro) I can see the class path entry in the output as follows:
    CLASSPATH=C:\oracle\product\10.2.0\client_1\jdbc\lib\ojdbc14.zip
    When I try to run my web app it doesnt assign the connection object with a value, i.e. when i was debugging my con object was null after calling the method mentioned above. After some time debugging i found a ClassNotFoundException was being thrown when the following command was executed:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Which I understand is because their is a problem with the class path but what is the problem??? The IDE likes the driver so why doesnt the jre.
    I am runnin jdk and jre 1.5, an Oracle XE Database using the netbeans environment.
    Some one please help me, I have spent far to much time on this rather than actually working on my project!!!!
    Thanks
    Keith

    Well After 10.5 hrs I actually sorted this myself, the two problems that were throwing me were this:
    1. Netbeans does not stop the tomcat server when it finishes running the app, you either have to stop the server from the menu or exit netbeans, until the server restarts it will not pick up on any driver files you add to common/lib
    2. You are very right Kiros tomcat does not do .zip files!!!!~~~###
    In order to sort this I had to add the oracle driver as a package to my project using the netbeans ide Project > Libraries > New Jar file, this allowed me to access the oracle classes. Then I had to set the server up to deal with the drivers as well, this meant adding the .jar file (not the latest .zip as it wont work) to the bundled tomcat common lib directory and restart the server via the ide (using the start/stop bat files in the tomcat conf directory doesnt work for some reason when its bundled with netbeans!)
    Thanks for the help guys but in the end it took 10 hrs a lot of reading and 2 bottles of lucozade to keep the brain goin.
    Keith

  • How to get the IP address of one JDBC connection  ?

    According to the connection object , how can I know the database server IP which related with the connection ?
    If can , show me an example .
    Thanks

    According to the connection object , how can I know
    the database server IP which related with the
    connection ?There is no such method in the Connection class.
    You can try the following:
    - check the database driver documentation. If you cast the connection object to a db-specific connection object (e.g. java.sql.Connection to OracleConnection), you might be able to get the server name from this interface
    - write your own Connection/Driver Implementation which stores the url when you create a connection.
    Please note that not all databases/jdbc drivers are IP based, e.g. if you use MS Access, you connect via ODBC to a MS Access file, or with the Oracle Thick driver an oracle specific protocol is used.

  • Jdbc connection set source ip address

    Hi
    Is there any way to specify the local (source) ip address of a jdbc connection ?
    I work in an enterprise environment with firewalls all over, and only certain ip addresses can connected to other ip addresses.
    The server which runs my application has many ip addresses and
    I'd like to be sure that my ip address is the source...
    Thanks
    Gabor Dolla
    Budapest, Hungary

    No, certainly not in the JDBC API. I don't believe there's even a way to do this in the java.net Socket API. There's the very slimmest of slim chances that a particular driver might implement something like this, in which case it would be in the driver's documentation. However, the chances are so slim that I'd bet strongly against any driver doing this.
    The source address is usually picked by the operating system, based on the routability to the target IP address. Basically, the OS network services looks at the target IP and says to itself, "which (logical) interface can get there? That's the source IP I will use". If your host's routing says there are multiple routes to the IP, then it will pick one; if there's only one route to the particular IP, there will be only one interface (and therefore source IP) that can be chosen.
    There's no reason Java or a driver couldn't be extended to do this, but no particular demand either; the problem is usually dealt with at the network layer.

  • Issues with JDBC Connection Pooling

    Hi all,
    I'm experiencing some unexpected behaviour when trying to use JDBC Connection Pooling with my BC4J applications.
    The configuraiton is -
    Web Application using BC4J in local mode
    Using Default Connection Stagegy
    Stateless Release Mode
    Retrieving Application Modules using Configuration.createRootApplicationModule( am , cf );
    Returning Application Modules using Configuration.releaseRootApplicationModule( am, false );
    Three application modules
    AppModuleA - connects to DatabaseConnection1
    AppModuleB - connects to DatabaseConnection2
    AppModuleC - connects to DatabaseConnection2
    My requirement is to -
    Use App Module Pooling and have individual pool for each Application Module
    Use JDBC Pooling and have individual pool for each Database connection
    Note: All configuration was achieved in design mode (i.e. right clicking AppModule->Configurations...)
    1. Initial approach -
    In the configuration for each Application Module I specified the connection type as 'JDBC Datasource' and specified to approriate datasource.
    Tried setting doConnecitonPooling to 'true' as well as 'false'
    In the data-sources.xml I specified all the appropriate info including min-connections and max-connections.
    I would expect, with the above config that BC4J would use OC4J's built in JDBC connection pooling.
    2. Second approach -
    In the configuration for each Application Module I specified the connection type as JDBC URL.
    In the configuration I specified doConnectionPooling = 'true' as well as the max connection, max available and min available
    What I experienced in both cases was that the max connections seem to be ignored as the number of connection as reported by the database (v$session) was exceeded by more than 10.
    In addition to this once the load was removed the number of JDBC connecitons did not drop (I would have expected it to drop to max available connections)
    My questions are -
    1. When specifying to use a 'JDBC Datasource' style of connection, is it in fact OC4J that is then responsible for pooling JDBC connections? And in this case should BC4J's doConnectionPooling parameter be set to true or false?
    2. Are there any known issues with the use of the JDBC Conneciton Pool as stated by the above to approaches?

    Thanks for the additional info. Please see my comments. below.
    Sorry should have been more specififc -
    1. Is each application pool using a different JDBC user? You mentioned DatabaseConnection1 and DatabaseConnection2
    above; are these connections to different schemas / users? If so, BC4J will create a separate connection pool for each
    JDBC user. Each connection pool will have its own maximum pool size.
    Each 'DatabaseConnection' refers to a different database, actually hosted on a seperate physical server, different
    schema and different user.BC4J will maintain a separate connection pool for each permutation of JDBC URL / schema. If each user is connecting
    to a different DB instance then I would expect no greater than 10 DB sessions. However, if a DB instance is hosting
    more than user then I would expect greater than 10 DB sessions (though still no more than 10 DB sessions per user).
    2. Are all the v$session sessions related to the JDBC clients? There should be at least one additional database
    session which will be related to the session that is querying v$session.
    When querying the v$session table I specifically look for connections from the user in quesiton and from the machine
    name in question and in doing so eliminate the database system's connections, as well as the query tools'
    connection. One area I'm not sure about is the connection BC4J uses to write to its temporary tables. I am using
    Stateless release mode and have not explicetly stated to save to the database but I'm wondering if it still does if so
    and how does it come into the equation with max connections?BC4J's internal connections are also pooled and the limits apply as mentioned above. So, if you have specified
    internal connection info for a schema which is different than the users above I would expect the additional conns.
    One helpful diagnostic tool, albeit programmatic, might be to print the information about the connection pools after
    your test client(s) have finished. This may be accomplished as follows:
    // get a reference to the BC4J connection pool manager
    import oracle.jbo.server.ConnectionPoolManagerFactory;
    import oracle.jbo.server.ConnectionPoolManagerImpl;
    import oracle.jbo.pool.ResourcePool;
    import java.io.PrintWriter;
    import java.util.Enumeration;
    // get the ConnectionPoolManager. assume that it is an instance of the supplied manager
    ConnectionPoolManagerImpl mgr = (ConnectionPoolManagerImpl)ConnectionPoolManagerFactory.getConnectionPoolManager();
    Enumeration keys = mgr.getResourcePoolKeys();
    PrintWriter pw = new PrintWriter(System.out, true);
    while (keys.hasMoreElements())
    Object key = keys.nextElement();
    ResourcePool pool = (ResourcePool)mgr.getResourcePool(key);
    System.out.println("Dumping pool statistics for pool: " + key);
    pool.dumpPoolStatistics(pw);
    }

Maybe you are looking for

  • Differences between PSUs and traditional CPU patches

    Hi, this is Eric Maurice, Director Oracle Software Security Assurance. In the past, I have been getting a number of questions about the differences between the Patch Set Updates (PSUs) and traditional Critical Patch Update (CPU) patches. On August 11

  • Integrating PL/SQL with Perl

    Hello All, I have just started learning PL/SQL and this my first R&D stuff with PL/SQL :) I have a very basic beginner question. Suppose I want to insert 1 lakh rows in a table through Perl. One and easiest way to do is to prepare and execute insert

  • Unrecoverable timeout!

    Hi, We are on SP10 and our scenario send HTTP request to marketplace. When i send a test message to marketplace from RWB there is a timeout and the response message in sxmb_moni is : "HTTP server code 403 reason java.io.InterruptedIOException: Unreco

  • Aperture 2, OS 10.6.4, and Pentax K-x, creates unsupported image format

    Upgraded from 10.6.3 to 10.6.4, and started getting the "Unsupported Image Format" problem in Aperture again for my RAW DNG files from a Pentax K-x. The previous fix was to remove the Raw Compatibility Upgrade, and reinstall the 3.0 version. (3.03 wa

  • My Mail app is crashing and freezing my mac.

    i have a macbook pro mid 2012, 13inch, i5 2.5 GHz. As soon as i open my mail app, it starts freezing and in few minutes my whole mac is crashing. I tried all small solutions like rebuilding mailbox and removing- adding internet accounts but its still