2014-10-29 85 views
0

如何在WebSphere Liberty Profile中定義自己的DataStoreHelper?如何在WebSphere 8.5 Liberty Profile中定義自定義DataStoreHelper

在WebSphere 8服務器配置我能夠把它定義下數據源=>指定一個用戶定義的數據存儲幫助

enter image description here

但是,在一個自由的資料我沒有發現任何在DataSource上定義它的可能性!

的數據源我server.xml配置是這樣的:

<dataSource id="HSQLDerbyDatasource" jndiName="jdbc/myConnection" statementCacheSize="10"> 
    <jdbcDriver javax.sql.ConnectionPoolDataSource="org.hsqldb.jdbc.JDBCDataSource" libraryRef="hsqlLib"/> 
    <properties.derby.embedded databaseName="${shared.resource.dir}/databases/hsql/myDB" user="foo" password="bar"/> 
    <connectionManager agedTimeout="7200" connectionTimeout="180" maxIdleTime="1800" maxPoolSize="10" minPoolSize="1" purgePolicy="EntirePool" reapTime="180"/> 
</dataSource> 

任何想法?它有可能嗎?


編輯1

我問,因爲我想用一個emebdded HSQL-DB會拋出以下異常,我想阻止(因爲取數據,除了正常使用在最後觸發清理):

java.sql.SQLFeatureNotSupportedException: feature not supported 
    at org.hsqldb.jdbc.JDBCUtil.notSupported(Unknown Source) 
    at org.hsqldb.jdbc.JDBCConnection.setTypeMap(Unknown Source) 
    at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.setTypeMap(WSRdbManagedConnectionImpl.java:4762) 
    ... 1 more 

所以,我想通過調用下面的代碼在構造函數中的GenericDataStoreHelper擴展:

getMetaData().setGetTypeMapSupport(false); 

但是...有沒有解決這個問題的另一種可能性?

回答

1

Liberty概要文件不支持DataStoreHelper。如果您需要某些功能,我建議您open a WebSphere RFE。我建議給出你試圖解決的高層次問題,而不是DataSourceHelper的具體請求。

+0

感謝您的回答!我以我的根本原因延伸了我的問題。也許你可以告訴我,我怎樣才能以另一種方式解決這個問題? :) – bobbel 2014-10-30 16:05:09

+0

謝謝,這是有用的信息。我在IBM內部與JDBC團隊進行了討論,他們說setTypeMap的這個問題是支持通用JDBC提供程序的已知問題。他們還建議打開RFE以更好地支持通用JDBC提供程序。唯一的另一種選擇是編寫自己的代理層,該代理層不運行該方法,但這是可以理解的非常大的努力。 – 2014-10-30 17:17:08

1

你的問題的簡短答案是你不需要這樣做,以便在Liberty中使用HyperSQL驅動程序。經過一番調查之後,您所報告的問題似乎是由HyperSQL驅動程序公開的一個缺陷,而未實現可選方法。這個問題已經出現缺陷。發佈Liberty版本信息以備將來的問題將增加答案的可能性。

相關問題