[QFJ-197] Provide option to disable the usage of the Proxool connection pooling Created: 15/Jun/07 Updated: 30/Jun/07 Resolved: 30/Jun/07 |
|
| Status: | Closed |
| Project: | QuickFIX/J |
| Component/s: | Engine |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Critical |
| Reporter: | Jörg Thönnes | Assignee: | Jörg Thönnes |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
JDBC |
||
| Description |
|
It seems that Proxool can have issues with some JDBC implementations. E.g. Oracle does not play well with Proxool. Therefore, I suggest to add an configuration option to disable the underlying Proxool connection pool. This should be straightforward to implement How do you think about this, Steve? |
| Comments |
| Comment by Steve Bate [ 15/Jun/07 ] |
|
There is a setDataSource method on the JdbcLogFactory and JdbcMessageStoreFactory. If the data source is set explicitly (e.g. to the Oracle data source) then Proxool is not used. This was added because of the problems between Proxool and Oracle. Does that satisfy your needs? |
| Comment by Jörg Thönnes [ 15/Jun/07 ] |
|
Basically, yes. But I also prefer to have an configurable option to do so. Would that be very difficult? |
| Comment by Steve Bate [ 15/Jun/07 ] |
|
I see a several issues with the configurable option. One is that the data sources often need special vendor-specific configurations. For example, the Oracle data source supports configurable prepared statement caching. This would be messy to support with the QF session settings file format. Another issue is that the factories are already created programatically so it seems natural to set the data source at that time. The last issue is that the data source might be created directly or it might be loaded from JNDI (in an application server context) or using some other technique (e.g., Spring injection). Again, the current settings file is not well suited for supporting these options. We could add an option just to disable Proxool independent of whether a data source has been specified. However, I don't think this is the behavior most people will want since performance will suffer greatly without the connection pooling capabilities provided by most JDBC data sources. |
| Comment by Jörg Thönnes [ 15/Jun/07 ] |
|
OK, Steve. We finally found the issue: If you use CHAR with Oracle, you should always fill up with spaces Other way round: If you define all character columns in the tables (specifically beginstring) as VARCHAR2, then it works fine. So I will close this issues. |