Тоже решил посмотреть работу с кэшем.
Итак, согласно инструкции, добавил в app.properties
модуля core следующие строки:
eclipselink.cache.shared.wedb$Country = true
eclipselink.cache.size.wedb$Country = 50
Для датасета browse-экрана установил свойство cacheble
<dsContext>
<groupDatasource id="countriesDs"
class="com.borets.wedb.entity.Country"
view="country-with-group"
cacheable="true">
<query>
<![CDATA[select e from wedb$Country e]]>
</query>
</groupDatasource>
</dsContext>
При открытии этого экрана ловлю в профайлер следующие одиночные запросы:
exec sp_executesql N'SELECT t1.ID, t1.CODE, t1.CREATE_TS, t1.CREATED_BY, t1.DELETE_TS, t1.DELETED_BY, t1.NAME, t1.SEC_GROUP_ID, t0.ID, t0.CREATE_TS, t0.CREATED_BY, t0.DELETE_TS, t0.DELETED_BY, t0.NAME, t0.UPDATE_TS, t0.UPDATED_BY, t0.VERSION, t0.PARENT_ID, t2.ID, t2.CREATE_TS, t2.CREATED_BY, t2.DELETE_TS, t2.DELETED_BY, t2.NAME, t2.UPDATE_TS, t2.UPDATED_BY, t2.VERSION, t2.PARENT_ID FROM WEDB_COUNTRY t1 LEFT OUTER JOIN SEC_GROUP t0 ON (t0.ID = t1.SEC_GROUP_ID) LEFT OUTER JOIN SEC_GROUP t2 ON (t2.ID = t0.PARENT_ID) WHERE ((t1.ID = @P0) AND (t1.DELETE_TS IS NULL)) ',N'@P0 nvarchar(4000)',N'9ED1076E-7712-BFB7-659E-FF952B07580C'
exec sp_executesql N'SELECT t1.ID, t1.CODE, t1.CREATE_TS, t1.CREATED_BY, t1.DELETE_TS, t1.DELETED_BY, t1.NAME, t1.SEC_GROUP_ID, t0.ID, t0.CREATE_TS, t0.CREATED_BY, t0.DELETE_TS, t0.DELETED_BY, t0.NAME, t0.UPDATE_TS, t0.UPDATED_BY, t0.VERSION, t0.PARENT_ID, t2.ID, t2.CREATE_TS, t2.CREATED_BY, t2.DELETE_TS, t2.DELETED_BY, t2.NAME, t2.UPDATE_TS, t2.UPDATED_BY, t2.VERSION, t2.PARENT_ID FROM WEDB_COUNTRY t1 LEFT OUTER JOIN SEC_GROUP t0 ON (t0.ID = t1.SEC_GROUP_ID) LEFT OUTER JOIN SEC_GROUP t2 ON (t2.ID = t0.PARENT_ID) WHERE ((t1.ID = @P0) AND (t1.DELETE_TS IS NULL)) ',N'@P0 nvarchar(4000)',N'22209CE4-82E4-F967-17CE-71765C2D0DDE'
И так далее для каждой записи датасета. Записей 11, поэтому они должны влезть в кэш.
В чем моя ошибка?
Добавлю, что MBean “ROOT-core.cuba:type=QueryCacheSupport”
java.lang.String printCacheContent()
возвращает
Operation invoked successfully with result:
Query{"select e from wedb$Employee e", id=90b643ed-2edf-f641-61b6-ca5a7710c0ac, firstRow=0, maxRows=50, softDeletion=true, positionalParameters=null, namedParameters=null}, instance count: 2
Query{"select e from wedb$Country e", id=04026a6d-e4dd-61c4-8b87-00a1e2214276, firstRow=0, maxRows=50, softDeletion=true, positionalParameters=null, namedParameters=null}, instance count: 11