Class JpaInboundChannelAdapterSpec
java.lang.Object
org.springframework.beans.factory.config.AbstractFactoryBean<T>
org.springframework.integration.dsl.IntegrationComponentSpec<S,H>
org.springframework.integration.dsl.MessageSourceSpec<JpaInboundChannelAdapterSpec,JpaPollingChannelAdapter>
org.springframework.integration.jpa.dsl.JpaInboundChannelAdapterSpec
- All Implemented Interfaces:
Aware
,BeanClassLoaderAware
,BeanFactoryAware
,DisposableBean
,FactoryBean<JpaPollingChannelAdapter>
,InitializingBean
,Lifecycle
,Phased
,SmartLifecycle
,ComponentsRegistration
public class JpaInboundChannelAdapterSpec
extends MessageSourceSpec<JpaInboundChannelAdapterSpec,JpaPollingChannelAdapter>
implements ComponentsRegistration
- Since:
- 5.0
- Author:
- Artem Bilan
-
Field Summary
Fields inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
PARSER, target
Fields inherited from class org.springframework.beans.factory.config.AbstractFactoryBean
logger
Fields inherited from interface org.springframework.beans.factory.FactoryBean
OBJECT_TYPE_ATTRIBUTE
Fields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondeleteAfterPoll
(boolean deleteAfterPoll) If set to 'true', the retrieved objects are deleted from the database upon being polled.deleteInBatch
(boolean deleteInBatch) If not set, this property defaults tofalse
, which means that deletion occurs on a per object basis if a collection of entities is being deleted.entityClass
(Class<?> entityClass) Specify the class type which is being used for retrieving entities from the database.expectSingleResult
(boolean expectSingleResult) This parameter indicates that only one result object shall be returned as a result from the executed JPA operation.flushAfterDelete
(boolean flush) If set totrue
theEntityManager.flush()
will be called after persistence operation.Specify a JPA query to perform persistent operation.maxResults
(int maxResults) Set the maximum number of results expression.maxResultsExpression
(String maxResultsExpression) Specify a SpEL expression for maximum number of results expression.maxResultsExpression
(Expression maxResultsExpression) Specify a SpEL expression for maximum number of results expression.namedQuery
(String namedQuery) Specify a name a named JPQL based query or a native SQL query.nativeQuery
(String nativeQuery) Specify a native SQL query to perform persistent operation.parameterSource
(ParameterSource parameterSource) Specify aParameterSource
that would be used to provide additional parameters.Methods inherited from class org.springframework.integration.dsl.MessageSourceSpec
messageHeaders
Methods inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
_this, createInstance, destroyInstance, doGet, get, getId, getObjectType, getPhase, id, isAutoStartup, isRunning, start, stop, stop
Methods inherited from class org.springframework.beans.factory.config.AbstractFactoryBean
afterPropertiesSet, destroy, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, isSingleton, setBeanClassLoader, setBeanFactory, setSingleton
-
Field Details
-
jpaExecutor
-
-
Constructor Details
-
JpaInboundChannelAdapterSpec
-
-
Method Details
-
entityClass
Specify the class type which is being used for retrieving entities from the database.- Parameters:
entityClass
- the entityClass
to use- Returns:
- the spec
-
jpaQuery
Specify a JPA query to perform persistent operation.- Parameters:
jpaQuery
- the JPA query to use.- Returns:
- the spec
-
nativeQuery
Specify a native SQL query to perform persistent operation.- Parameters:
nativeQuery
- the native SQL query to use.- Returns:
- the spec
-
namedQuery
Specify a name a named JPQL based query or a native SQL query.- Parameters:
namedQuery
- the name of the pre-configured query.- Returns:
- the spec
-
deleteAfterPoll
If set to 'true', the retrieved objects are deleted from the database upon being polled. May not work in all situations, e.g. for Native SQL Queries.- Parameters:
deleteAfterPoll
- Defaults to 'false'.- Returns:
- the spec
-
deleteInBatch
If not set, this property defaults tofalse
, which means that deletion occurs on a per object basis if a collection of entities is being deleted.If set to 'true' the elements of the payload are deleted as a batch operation. Be aware that this exhibits issues in regards to cascaded deletes.
The specification 'JSR 317: Java Persistence API, Version 2.0' does not support cascaded deletes in batch operations. The specification states in chapter 4.10:
"A delete operation only applies to entities of the specified class and its subclasses. It does not cascade to related entities."
- Parameters:
deleteInBatch
- Defaults to 'false' if not set.- Returns:
- the spec
-
flushAfterDelete
If set totrue
theEntityManager.flush()
will be called after persistence operation. Has the same effect, if theflushSize
is specified to1
. For convenience in cases when the provided entity to persist is not an instance ofIterable
.- Parameters:
flush
- defaults to 'false'.- Returns:
- the spec
-
parameterSource
Specify aParameterSource
that would be used to provide additional parameters.- Parameters:
parameterSource
- theParameterSource
to use.- Returns:
- the spec
-
expectSingleResult
This parameter indicates that only one result object shall be returned as a result from the executed JPA operation. If set totrue
and the result list from the JPA operations contains only 1 element, then that 1 element is extracted and returned as payload.- Parameters:
expectSingleResult
- true if a single object is expected.- Returns:
- the spec
-
maxResults
Set the maximum number of results expression. It has be a non null value Not setting one will default to the behavior of fetching all the records- Parameters:
maxResults
- the maximum number of results to retrieve- Returns:
- the spec
-
maxResultsExpression
Specify a SpEL expression for maximum number of results expression. Not setting one will default to the behavior of fetching all the records- Parameters:
maxResultsExpression
- The maximum results expression.- Returns:
- the spec
-
maxResultsExpression
Specify a SpEL expression for maximum number of results expression. Not setting one will default to the behavior of fetching all the records- Parameters:
maxResultsExpression
- The maximum results expression.- Returns:
- the spec
-
getComponentsToRegister
- Specified by:
getComponentsToRegister
in interfaceComponentsRegistration
-