Class Neo4jItemReader<T>
- All Implemented Interfaces:
ItemReader<T>,ItemStream,ItemStreamReader<T>,org.springframework.beans.factory.InitializingBean
Restartable ItemReader that reads objects from the graph database Neo4j via a
paging technique.
It executes cypher queries built from the statement fragments provided to retrieve the
requested data. The query is executed using paged requests of a size specified in
AbstractPaginatedDataItemReader.setPageSize(int). Additional pages are requested as needed when the
AbstractItemCountingItemStreamItemReader.read() method is called. On restart, the reader will begin again at the same
number item it left off at.
Performance is dependent on your Neo4J configuration (embedded or remote) as well as page size. Setting a fairly large page size and using a commit interval that matches the page size should provide better performance.
This implementation is thread-safe between calls to
AbstractItemCountingItemStreamItemReader.open(org.springframework.batch.item.ExecutionContext), however you should set
saveState=false if used in a multi-threaded environment (no restart
available).
- Author:
- Michael Minella, Mahmoud Ben Hassine
-
Field Summary
FieldsFields inherited from class org.springframework.batch.item.data.AbstractPaginatedDataItemReader
page, pageSize, results -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidDeprecated.Checks mandatory propertiesDeprecated.Method thisItemStreamReaderdelegates to for the actual work of reading a page.protected StringDeprecated.Deprecated.protected org.neo4j.ogm.session.SessionFactoryDeprecated.Deprecated.voidsetMatchStatement(String matchStatement) Deprecated.An optional match fragment of the cypher query.voidsetOrderByStatement(String orderByStatement) Deprecated.A list of properties to order the results by.voidsetParameterValues(Map<String, Object> parameterValues) Deprecated.Optional parameters to be used in the cypher query.voidsetReturnStatement(String returnStatement) Deprecated.The return statement of the cypher query.voidsetSessionFactory(org.neo4j.ogm.session.SessionFactory sessionFactory) Deprecated.Establish the session factory for the reader.voidsetStartStatement(String startStatement) Deprecated.The start segment of the cypher query.voidsetTargetType(Class<T> targetType) Deprecated.The object type to be returned from each call toAbstractItemCountingItemStreamItemReader.read()voidsetWhereStatement(String whereStatement) Deprecated.An optional where fragment of the cypher query.Methods inherited from class org.springframework.batch.item.data.AbstractPaginatedDataItemReader
doClose, doOpen, doRead, jumpToItem, setPageSizeMethods inherited from class org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader
close, getCurrentItemCount, isSaveState, open, read, setCurrentItemCount, setMaxItemCount, setSaveState, updateMethods inherited from class org.springframework.batch.item.ItemStreamSupport
getExecutionContextKey, getName, setExecutionContextName, setName
-
Field Details
-
logger
protected org.apache.commons.logging.Log loggerDeprecated.
-
-
Constructor Details
-
Neo4jItemReader
public Neo4jItemReader()Deprecated.
-
-
Method Details
-
setParameterValues
Deprecated.Optional parameters to be used in the cypher query.- Parameters:
parameterValues- the parameter values to be used in the cypher query
-
getParameterValues
Deprecated. -
setStartStatement
Deprecated.The start segment of the cypher query. START is prepended to the statement provided and should not be included.- Parameters:
startStatement- the start fragment of the cypher query.
-
setReturnStatement
Deprecated.The return statement of the cypher query. RETURN is prepended to the statement provided and should not be included- Parameters:
returnStatement- the return fragment of the cypher query.
-
setMatchStatement
Deprecated.An optional match fragment of the cypher query. MATCH is prepended to the statement provided and should not be included.- Parameters:
matchStatement- the match fragment of the cypher query
-
setWhereStatement
Deprecated.An optional where fragment of the cypher query. WHERE is prepended to the statement provided and should not be included.- Parameters:
whereStatement- where fragment of the cypher query
-
setOrderByStatement
Deprecated.A list of properties to order the results by. This is required so that subsequent page requests pull back the segment of results correctly. ORDER BY is prepended to the statement provided and should not be included.- Parameters:
orderByStatement- order by fragment of the cypher query.
-
getSessionFactory
protected org.neo4j.ogm.session.SessionFactory getSessionFactory()Deprecated. -
setSessionFactory
public void setSessionFactory(org.neo4j.ogm.session.SessionFactory sessionFactory) Deprecated.Establish the session factory for the reader.- Parameters:
sessionFactory- the factory to use for the reader.
-
setTargetType
Deprecated.The object type to be returned from each call toAbstractItemCountingItemStreamItemReader.read()- Parameters:
targetType- the type of object to return.
-
getTargetType
Deprecated. -
generateLimitCypherQuery
Deprecated. -
afterPropertiesSet
Deprecated.Checks mandatory properties- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception- See Also:
-
InitializingBean.afterPropertiesSet()
-
doPageRead
Deprecated.Description copied from class:AbstractPaginatedDataItemReaderMethod thisItemStreamReaderdelegates to for the actual work of reading a page. Each time this method is called, the resultingIteratorshould contain the items read within the next page.
If theIteratoris empty or null when it is returned, thisItemReaderwill assume that the input has been exhausted.- Specified by:
doPageReadin classAbstractPaginatedDataItemReader<T>- Returns:
- an
Iteratorcontaining the items within a page.
-