Subject | Re: [Firebird-Java] DataExpress problem JayBird 3 Beta |
---|---|
Author | |
Post date | 2016-12-22T08:57:56Z |
Hi Mark,
Let me put you in the picture of what Borland JBuilder DataExpress is.
The library basically revolves around two classes: DataBase and QueryDataSet.
DataBase is like a wrapper on jdbc Connection class and QueryDataSet is a holder of data fetched. Like CachedRowSet but much richer.
A QueryDataSet object is a holder of a SQL statement with parameters and is executed and populated with a DataBase Object.
You asked about setPool(..). I have a simple connection pool mechanism is based on BlockingQueue where I set the JDBC connection in the wrapper class DataBase. The exception is thrown when jdbc connection.getAutoCommit() is called in DataBase class in this particular exception.
The exceptions seems to be thrown when a FBResultSetMetaData is used?
It seems to be provoked when used from multiple threads. Maybe something in
FBResultSetMetaData is shared and not not thread safe?
I'm assuming that each jdbc connection object is independent and thread safe?
I never close a connection. The only place a connection is close is in the DataBase class finalize method. Furthermore if I explicitly close a connection the DataBase class reopens it automatically.
I have mailed the source for DataBase class if it helps.
BR, Hugo
Let me put you in the picture of what Borland JBuilder DataExpress is.
The library basically revolves around two classes: DataBase and QueryDataSet.
DataBase is like a wrapper on jdbc Connection class and QueryDataSet is a holder of data fetched. Like CachedRowSet but much richer.
A QueryDataSet object is a holder of a SQL statement with parameters and is executed and populated with a DataBase Object.
You asked about setPool(..). I have a simple connection pool mechanism is based on BlockingQueue where I set the JDBC connection in the wrapper class DataBase. The exception is thrown when jdbc connection.getAutoCommit() is called in DataBase class in this particular exception.
The exceptions seems to be thrown when a FBResultSetMetaData is used?
It seems to be provoked when used from multiple threads. Maybe something in
FBResultSetMetaData is shared and not not thread safe?
I'm assuming that each jdbc connection object is independent and thread safe?
I never close a connection. The only place a connection is close is in the DataBase class finalize method. Furthermore if I explicitly close a connection the DataBase class reopens it automatically.
I have mailed the source for DataBase class if it helps.
BR, Hugo