Class | Description |
---|---|
AbstractSimonDataSource |
SimonCommonDataSource is parent for all three datasource implementation classes.
|
SimonConnectionPoolDataSource |
Wrapper class for real ConnectionPoolDataSource implementation, produces pooled
PooledConnection object. |
SimonDataSource |
Wrapper class for real DataSource implementation, produces standard
Connection
object. |
SimonPooledConnection |
Simon implementation of
PooledConnection , needed for
Simon ConnectionPollDataSource implementation. |
SimonXAConnection |
Simon implementation of
XAConnection , needed for
Simon XADataSource implementation. |
SimonXADataSource |
Wrapper class for real XADataSource implementation, produces xa
XAConnection object. |
WrappingSimonDataSource |
WrappingSimonDataSource allows to wrap existing datasource instead of providing
the Driver and URL information.
|
Basic principle behind Java Simon implementation of DataSources for JDBC monitoring inside JavaEE compliant application servers is mostly similar like in case of JavaSE JDBC monitoring. With same principle in mind, each datasource delegates all its calls to real datasource implementation. Retrieving real datasource is made by JavaSimon datasource, which in this case acts similar like application server. Application server creates datasource form configuration held in its JNDI. First, application server creates Java Simon datasource instance and then it pushes all properties from JNDI into datasource instance. Then, when datasource within application is called, Java Simon datasource creates real datasource instance and pushes all retrieved properties form application server into new real datasource instance.
So, for correct settings of JavaSimon datasource, it is need to know wanted datasource type (normal, connection pool or XA), implementation class of real datasource and real datasource properties of course. By datasource type, there are three different Java Simon datasource implementation for each type:
SimonDataSource
for ordinary or non-XA datasource (implements
DataSource
),SimonConnectionPoolDataSource
for connection pool datasource with pooling
connections feature (implements ConnectionPoolDataSource
),SimonDataSource
for XA datasource with two-phase commits feature (implements
XADataSource
).realDataSourceClassName
.
Not all datasource types are supported with all their possible properties. At the moment only following properties are supported: url, user, password. These should still be enough for almost all important datasource implementations (Oracle thin, PostgreSQL, H2, MySQL, ...). Other datasource types (e.g. Oracle OCI case) will be added in the future as needed/requested.
Copyright © 2019. All rights reserved.