Class XmlDataImporter

All Implemented Interfaces:
Runnable, Action

public final class XmlDataImporter extends ConnectionConfigurationAbtract
Read XML output from org.apache.activemq.artemis.core.persistence.impl.journal.XmlDataExporter, create a core session, and send the messages to a running instance of ActiveMQ Artemis. It uses the StAX javax.xml.stream.XMLStreamReader for speed and simplicity.
  • Field Details

    • host

      @Deprecated(forRemoval=true) public String host
      Deprecated, for removal: This API element is subject to removal in a future version.
    • port

      @Deprecated(forRemoval=true) public int port
      Deprecated, for removal: This API element is subject to removal in a future version.
    • transactional

      public boolean transactional
    • commitInterval

      public int commitInterval
    • input

      public String input
    • sort

      public boolean sort
    • legacyPrefixes

      public boolean legacyPrefixes
  • Constructor Details

    • XmlDataImporter

      public XmlDataImporter()
  • Method Details

    • execute

      public Object execute(ActionContext context) throws Exception
      Specified by:
      execute in interface Action
      Overrides:
      execute in class ConnectionConfigurationAbtract
      Throws:
      Exception
    • process

      public void process(String inputFileName, String host, int port) throws Exception
      Throws:
      Exception
    • process

      public void process(InputStream inputStream, ClientSession session) throws Exception
      This is the normal constructor for programmatic access to the org.apache.activemq.artemis.core.persistence.impl.journal.XmlDataImporter if the session passed in uses auto-commit for sends.

      If the session needs to be transactional then use the constructor which takes 2 sessions.

      Parameters:
      inputStream - the stream from which to read the XML for import
      session - used for sending messages, must use auto-commit for sends
      Throws:
      Exception
    • process

      public void process(InputStream inputStream, ClientSession session, ClientSession managementSession) throws Exception
      This is the constructor to use if you wish to import all messages transactionally.

      Pass in a session which doesn't use auto-commit for sends, and one that does (for management operations necessary during import).

      Parameters:
      inputStream - the stream from which to read the XML for import
      session - used for sending messages, doesn't need to auto-commit sends
      managementSession - used for management queries, must use auto-commit for sends
      Throws:
      Exception
    • process

      public void process(InputStream inputStream, String host, int port) throws Exception
      Throws:
      Exception
    • validate

      public void validate(String fileName) throws Exception
      Throws:
      Exception
    • validate

      public void validate(InputStream inputStream) throws Exception
      Throws:
      Exception