Class PutSystemDateInSession

All Implemented Interfaces:
HasTransactionAttribute, IConfigurable, IConfigurationAware, IForwardTarget, INamedObject, IPipe, IScopeProvider, IWithParameters, EventThrowing, HasStatistics, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

@EnterpriseIntegrationPattern(SESSION) public class PutSystemDateInSession extends FixedForwardPipe
Puts the system date/time under a key in the pipeLineSession.
Since:
4.2c
Author:
Johan Verrips, Jaco de Groot (***@dynasol.nl)
  • Field Details

  • Constructor Details

    • PutSystemDateInSession

      public PutSystemDateInSession()
  • Method Details

    • configure

      public void configure() throws ConfigurationException
      Checks whether the proper forward is defined, a dateFormat is specified and the dateFormat is valid.
      Specified by:
      configure in interface IConfigurable
      Specified by:
      configure in interface IPipe
      Overrides:
      configure in class FixedForwardPipe
      Throws:
      ConfigurationException
    • doPipe

      public PipeRunResult doPipe(Message message, PipeLineSession session) throws PipeRunException
      Description copied from interface: IPipe
      This is where the action takes place. Pipes may only throw a PipeRunException, to be handled by the caller of this object. Implementations must either consume the message, or pass it on to the next Pipe in the PipeRunResult. If the result of the Pipe does not depend on the input, like for the FixedResultPipe, the Pipe can schedule the input to be closed at session exit, by calling Message.closeOnCloseOf(PipeLineSession, String) This allows the previous Pipe to release any resources (e.g. connections) that it might have kept open until the message was consumed. Doing so avoids connections leaking from pools, while it enables efficient streaming processing of data while it is being read from a stream.
      Throws:
      PipeRunException
    • setSessionKey

      public void setSessionKey(String newSessionKey)
      Key of session variable to store systemdate in
      Default value
      systemDate
    • getSessionKey

      public String getSessionKey()
    • setDateFormat

      public void setDateFormat(String rhs)
      Format to store date in
      Default value
      full ISO format: DateUtils.fullIsoFormat
    • getDateFormat

      public String getDateFormat()
    • setTimeZone

      public void setTimeZone(String timeZone)
      Time zone to use for the formatter
      Default value
      the default time zone for the JVM
    • setSleepWhenEqualToPrevious

      public void setSleepWhenEqualToPrevious(long sleepWhenEqualToPrevious)
      Set to a time in milliseconds to create a value that is different to the previous returned value by a PutSystemDateInSession pipe in this virtual machine or -1 to disable. The thread will sleep for the specified time before recalculating a new value. Set the timezone to a value without Daylight Saving Time (like GMT+1) to prevent this pipe to generate two equal value's when the clock is set back. note: When you're looking for a GUID parameter for your XSLT it might be better to use <param name="guid" pattern="{hostname}_{uid}"/>, see Parameter.
      Default value
      -1
    • setReturnFixedDate

      public void setReturnFixedDate(boolean b)
      If true, the date/time returned will always be "2001-12-17 09:30:47" (for testing purposes only). It is overridden by the value of the pipelinesession key stub4testtool.fixeddate when it exists
      Default value
      false
    • isReturnFixedDate

      public boolean isReturnFixedDate()
    • setGetCurrentTimeStampInMillis

      public void setGetCurrentTimeStampInMillis(boolean getCurrentTimeStampInMillis)
      If set to 'true' then current time stamp in millisecond will be stored in the sessionKey
      Default value
      false
    • isGetCurrentTimeStampInMillis

      public boolean isGetCurrentTimeStampInMillis()