Class JpaRetrievingOutboundGatewaySpec

All Implemented Interfaces:
DisposableBean, FactoryBean<JpaOutboundGateway>, InitializingBean, Lifecycle, Phased, SmartLifecycle, ComponentsRegistration

public class JpaRetrievingOutboundGatewaySpec extends JpaBaseOutboundEndpointSpec<JpaRetrievingOutboundGatewaySpec>
Since:
5.0
Author:
Artem Bilan
  • Constructor Details Link icon

    • JpaRetrievingOutboundGatewaySpec Link icon

      protected JpaRetrievingOutboundGatewaySpec(JpaExecutor jpaExecutor)
  • Method Details Link icon

    • expectSingleResult Link icon

      public JpaRetrievingOutboundGatewaySpec expectSingleResult(boolean expectSingleResult)
      This parameter indicates that only one result object shall be returned as a result from the executed JPA operation. If set to true 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 Link icon

      public JpaRetrievingOutboundGatewaySpec firstResult(int firstResult)
      Specify a first result in the query executed.
      Parameters:
      firstResult - the first result to use.
      Returns:
      the spec
    • firstResultExpression Link icon

      public JpaRetrievingOutboundGatewaySpec firstResultExpression(String 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 Link icon

      public JpaRetrievingOutboundGatewaySpec firstResultExpression(Expression 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 Link icon

      public JpaRetrievingOutboundGatewaySpec idExpression(String idExpression)
      Specify a SpEL expression that will be evaluated to get the primaryKey for EntityManager.find(Class, Object).
      Parameters:
      idExpression - the SpEL expression for entity primaryKey.
      Returns:
      the spec
    • idExpression Link icon

      public JpaRetrievingOutboundGatewaySpec idExpression(Expression idExpression)
      Specify a SpEL expression that will be evaluated to get the primaryKey for EntityManager.find(Class, Object).
      Parameters:
      idExpression - the SpEL expression for entity primaryKey.
      Returns:
      the spec
    • maxResults Link icon

      public JpaRetrievingOutboundGatewaySpec maxResults(int 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 Link icon

      public JpaRetrievingOutboundGatewaySpec maxResultsExpression(String 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 Link icon

      public JpaRetrievingOutboundGatewaySpec maxResultsExpression(Expression 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 Link icon

      public JpaRetrievingOutboundGatewaySpec deleteAfterPoll(boolean 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 Link icon

      public JpaRetrievingOutboundGatewaySpec deleteInBatch(boolean deleteInBatch)
      If not set, this property defaults to false, 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 regard 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 Link icon

      public JpaRetrievingOutboundGatewaySpec flushAfterDelete(boolean flush)
      If set to true the EntityManager.flush() will be called after persistence operation. Has the same effect, if the flushSize is specified to 1. For convenience in cases when the provided entity to persist is not an instance of Iterable.
      Parameters:
      flush - defaults to 'false'.
      Returns:
      the spec