3
考慮一個服務類,它可以插入和檢索對象並使用Spring緩存抽象,如何以返回可選方式註釋方法?處理Java 8使用Spring緩存可選
class MyServiceImpl implements MyService {
private static final String CACHE_NAME = "itemCache";
@Override
@Cacheable(CACHE_NAME)
public Optional<Item> findById(Long id) {
// access the repository to retrieve the item
}
@Override
@CachePut(cacheNames = CACHE_NAME, key = "#item.id")
public Item insertItem(Item item) {
...
}
}
在上述例子中,一個ClassCastException
拋出因爲insertItem
把一個Item
實例在緩存中,並且findById
期望一個Optional
可能包含一個Item
實例。
我們不支持'可選'。我想我們可以做到這一點,請創建一個問題。 –
感謝您的回覆。我剛剛創建了https://jira.spring.io/browse/SPR-14230 – andrucz
哇,我現在正在度假,而且Juergen已經實現了它。這很快;-) –