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 Modifier and Type Field Description protected JpaExecutor
jpaExecutor
Fields inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
PARSER, target
-
Constructor Summary
Constructors Modifier Constructor Description protected
JpaInboundChannelAdapterSpec(JpaExecutor jpaExecutor)
-
Method Summary
Modifier and Type Method Description JpaInboundChannelAdapterSpec
deleteAfterPoll(boolean deleteAfterPoll)
If set to 'true', the retrieved objects are deleted from the database upon being polled.JpaInboundChannelAdapterSpec
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.JpaInboundChannelAdapterSpec
entityClass(Class<?> entityClass)
Specify the class type which is being used for retrieving entities from the database.JpaInboundChannelAdapterSpec
expectSingleResult(boolean expectSingleResult)
This parameter indicates that only one result object shall be returned as a result from the executed JPA operation.JpaInboundChannelAdapterSpec
flushAfterDelete(boolean flush)
If set totrue
theEntityManager.flush()
will be called after persistence operation.Map<Object,String>
getComponentsToRegister()
JpaInboundChannelAdapterSpec
jpaQuery(String jpaQuery)
Specify a JPA query to perform persistent operation.JpaInboundChannelAdapterSpec
maxResults(int maxResults)
Set the maximum number of results expression.JpaInboundChannelAdapterSpec
maxResultsExpression(String maxResultsExpression)
Specify a SpEL expression for maximum number of results expression.JpaInboundChannelAdapterSpec
maxResultsExpression(Expression maxResultsExpression)
Specify a SpEL expression for maximum number of results expression.JpaInboundChannelAdapterSpec
namedQuery(String namedQuery)
Specify a name a named JPQL based query or a native SQL query.JpaInboundChannelAdapterSpec
nativeQuery(String nativeQuery)
Specify a native SQL query to perform persistent operation.JpaInboundChannelAdapterSpec
parameterSource(ParameterSource parameterSource)
Specify aParameterSource
that would be used to provide additional parameters.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
-
Constructor Details
-
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
-