Guest User

Thank you very much for your hardwork.
We hope all the success with JENNIFERSOFT.
This is my question.
In the Real Time Monitoring > Real Time Status > DB menu, there is the [Real Time DB Connection Counts IDLE, ALLOCATED, ACTIVE] screen.
was is a Weblogic 10g, MS-SQL, WINDOW server and the Jennifer.conf file in jennifer4.5 is configured as follows.
jdbc_connection_get=weblogic.jdbc.common.internal.RmiDataSource.getConnection();weblogic.jdbc.common.internal.RmiDataSource.getConnection(String, String)
(In the lwst40.bat file, we have build_jdbc=false to create lwst.jdk.jar.)
But the screen does not display the number of IDLE services as my customer said.
(none of IDLE, ALLOCATED, or ACTIVE services are displayed.)
Indi of was is used as a connection pool. How come the relevant information is not displayed?
How can I display the relevant information?
For your information, in X-view, I can see sql’s clearly.

Khalid Saeed

Inside JENNIFER, there is a registered connection list which is the key for each database and JDBC driver.
If the JDBC driver used is not registered in JENNIFER then the number of JDBC connections can’t be monitored.
In this case, you need to look for the key connection for the JDBC driver and set it in the connection_trace_class option of the JENNFIER agent. How can you find the class? First, check the JDBC driver class and using finder.bat(sh) in the agent directory, find and register the class containing the nativeSQL method.
ex) finder.sh METHOD jdbcdriver.jar nativeSQL

Guest User

As the title indicates, the nativeSQL method is not displayed.
The following is a summary of work done.
1.In the web logic console, the following driver class names in the connection pool setting are used.
URL —> jdbc:bea:sqlserver://xxx.xxx.xxx.xxx:2667
Driver Class Name —> weblogic.jdbc.sqlserver.SQLServerDriver
2. Looked for a jar file that contains the weblogic.jdbc.sqlserver.SQLServerDriver class.
Result —> see the below.
weblogic.jdbc.sqlserver.SQLServerDriver: [file:/D:/Weblogic/wlserver_10.3/server/lib/wlsqlserver.jar!/weblogic/jdbc/sqlserver/SQLServerDriver.class]
3. Executed the finder.
Result —>see the below.
D:\jennifer4\agent>finder.bat METHOD wlsqlserver.jar nativeSQL
######################################################################
JENNIFER CLASS FINDER
######################################################################
mode: METHOD
find: nativeSQL
path: wlsqlserver.jar
######################################################################
1. TARGET=>jar:wlsqlserver.jar ##
Press any key to continue. . . .
—> As you see, no result is returned??

Khalid Saeed

Select Troubleshooting ? File/Socket and execute Stack Receiving in the port from the DB. When the socket is used, the entire stack trace will be shown. Please, capture it and upload it here.
You might want to try this.

connection_trace_class = weblogic.jdbc.sqlserverbase.BaseConnection

I get the following results..^^

C:\work\jennifer40\jennifer4.5.0.tar\agent>finder.bat METHOD wlsqlserver.zip nativeSQL
######################################################################
JENNIFER CLASS FINDER
######################################################################
mode: METHOD
find: nativeSQL
path: wlsqlserver.zip
######################################################################

  1. TARGET=>jar:wlsqlserver.zip ##

1: weblogic.jdbc.sqlserverbase.BaseConnection.nativeSQL
2: weblogic.jdbcspysqlserver.SpyConnection.nativeSQL
3: weblogic.jdbcx.sqlserverbase.ddd.nativeSQL
4: weblogic.resource.jdbcsqlserver.JCAConnection.nativeSQL

Guest User

The following is the results for the stacktrace.

Stacktrace Added:
at weblogic.jdbc.sqlserver.SQLServerByteOrderedDataWriter.send(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRPCRequest.submitRequest(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRPCNonCursorExecuteRequest.submitExecute(Unknown Source)
at weblogic.jdbc.sqlserver.tds.TDSRPCExecuteRequest.execute(Unknown Source)
at weblogic.jdbc.sqlserver.SQLServerImplStatement.execute(Unknown Source)
at weblogic.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at weblogic.jdbc.base.BaseStatement.executeInternal(Unknown Source)
at weblogic.jdbc.base.BasePreparedStatement.execute(Unknown Source)
at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:747)
at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:480)
at weblogic.common.resourcepool.ResourcePoolImpl.testResource(ResourcePoolImpl.java:2163)
at weblogic.common.resourcepool.ResourcePoolImpl.checkResource(ResourcePoolImpl.java:1528)
at weblogic.common.resourcepool.ResourcePoolImpl.checkAndReturnResource(ResourcePoolImpl.java:1435)
at weblogic.common.resourcepool.ResourcePoolImpl.checkAndReturnResource(ResourcePoolImpl.java:1424)
at weblogic.common.resourcepool.ResourcePoolImpl.testUnusedResources(ResourcePoolImpl.java:1866)
at weblogic.common.resourcepool.ResourcePoolImpl.access$800(ResourcePoolImpl.java:39)
at weblogic.common.resourcepool.ResourcePoolImpl$ResourcePoolMaintanenceTask.timerExpired(ResourcePoolImpl.java:2265)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

And it seems that your uploaded wlsqlserver.jar file has a different content.
I opened the jar file. I found the weblogic.jdbc.sqlserver folder and the tds folder below it.
There were several classes below the weblogic.jdbc.sqlserver folder and several classes below the tds folder.
But I don’t see the BaseConnection.class class.
(The wlsqlserver.jar file is attached.)
Also, weblogic.jdbcspy.SpyConnection that you mentioned does not exist in Utility > Loading Class List..

Khalid Saeed

Select Trouble Diagnosis? Utility ? jar/class Searcn and perform searches by weblogic.jdbc.sqlserver.SQLServerImplStatement to see which file it is included in. Download the file and run the finder.sh file once again.