Class JpaRetrievingOutboundGatewaySpec
java.lang.Object
org.springframework.beans.factory.config.AbstractFactoryBean<T>
org.springframework.integration.dsl.IntegrationComponentSpec<S,H>
org.springframework.integration.dsl.MessageHandlerSpec<S,JpaOutboundGateway>
org.springframework.integration.jpa.dsl.JpaBaseOutboundEndpointSpec<JpaRetrievingOutboundGatewaySpec>
org.springframework.integration.jpa.dsl.JpaRetrievingOutboundGatewaySpec
- All Implemented Interfaces:
Aware
,BeanClassLoaderAware
,BeanFactoryAware
,DisposableBean
,FactoryBean<JpaOutboundGateway>
,InitializingBean
,Lifecycle
,Phased
,SmartLifecycle
,ComponentsRegistration
public class JpaRetrievingOutboundGatewaySpec extends JpaBaseOutboundEndpointSpec<JpaRetrievingOutboundGatewaySpec>
A
JpaBaseOutboundEndpointSpec
extension for the
JpaOutboundGateway
with
OutboundGatewayType.RETRIEVING
mode.- Since:
- 5.0
- Author:
- Artem Bilan
-
Field Summary
Fields inherited from class org.springframework.integration.jpa.dsl.JpaBaseOutboundEndpointSpec
jpaExecutor
Fields inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
PARSER, target
-
Constructor Summary
Constructors Modifier Constructor Description protected
JpaRetrievingOutboundGatewaySpec(JpaExecutor jpaExecutor)
-
Method Summary
Modifier and Type Method Description JpaRetrievingOutboundGatewaySpec
deleteAfterPoll(boolean deleteAfterPoll)
If set totrue
, the retrieved objects are deleted from the database upon being polled.JpaRetrievingOutboundGatewaySpec
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.JpaRetrievingOutboundGatewaySpec
expectSingleResult(boolean expectSingleResult)
This parameter indicates that only one result object shall be returned as a result from the executed JPA operation.JpaRetrievingOutboundGatewaySpec
firstResult(int firstResult)
Specify a first result in the query executed.JpaRetrievingOutboundGatewaySpec
firstResultExpression(String firstResultExpression)
Specify a SpEL expression that will be evaluated to get the first result in the query executed.JpaRetrievingOutboundGatewaySpec
firstResultExpression(Expression firstResultExpression)
Specify a SpEL expression that will be evaluated to get the first result in the query executed.JpaRetrievingOutboundGatewaySpec
flushAfterDelete(boolean flush)
If set totrue
theEntityManager.flush()
will be called after persistence operation.JpaRetrievingOutboundGatewaySpec
idExpression(String idExpression)
Specify a SpEL expression that will be evaluated to get theprimaryKey
forEntityManager.find(Class, Object)
JpaRetrievingOutboundGatewaySpec
idExpression(Expression idExpression)
Specify a SpEL expression that will be evaluated to get theprimaryKey
forEntityManager.find(Class, Object)
JpaRetrievingOutboundGatewaySpec
maxResults(int maxResults)
Set the maximum number of results expression.JpaRetrievingOutboundGatewaySpec
maxResultsExpression(String maxResultsExpression)
Specify a SpEL expression for maximum number of results expression.JpaRetrievingOutboundGatewaySpec
maxResultsExpression(Expression maxResultsExpression)
Specify a SpEL expression for maximum number of results expression.Methods inherited from class org.springframework.integration.jpa.dsl.JpaBaseOutboundEndpointSpec
entityClass, getComponentsToRegister, jpaQuery, namedQuery, nativeQuery, parameter, parameter, parameter, parameterExpression, parameterExpression, parameterSourceFactory, usePayloadAsParameterSource
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
-
Constructor Details
-
Method Details
-
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
-
firstResult
Specify a first result in the query executed.- Parameters:
firstResult
- the first result to use.- Returns:
- the spec
-
firstResultExpression
Specify a SpEL expression that will be evaluated to get the first result in the query executed.- Parameters:
firstResultExpression
- The first result expression.- Returns:
- the spec
-
firstResultExpression
Specify a SpEL expression that will be evaluated to get the first result in the query executed.- Parameters:
firstResultExpression
- The first result expression.- Returns:
- the spec
-
idExpression
Specify a SpEL expression that will be evaluated to get theprimaryKey
forEntityManager.find(Class, Object)
- Parameters:
idExpression
- the SpEL expression for entityprimaryKey
.- Returns:
- the spec
-
idExpression
Specify a SpEL expression that will be evaluated to get theprimaryKey
forEntityManager.find(Class, Object)
- Parameters:
idExpression
- the SpEL expression for entityprimaryKey
.- 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
-
deleteAfterPoll
If set totrue
, 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 tofalse
.- 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
-