Class XmlDataImporter
- java.lang.Object
-
- org.apache.activemq.artemis.cli.commands.ActionAbstract
-
- org.apache.activemq.artemis.cli.commands.tools.xml.XmlDataImporter
-
- All Implemented Interfaces:
Action
@Command(name="imp", description="Import all message-data using an XML that could be interpreted by any system.") public final class XmlDataImporter extends ActionAbstractRead XML output fromorg.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 StAXjavax.xml.stream.XMLStreamReaderfor speed and simplicity.
-
-
Field Summary
Fields Modifier and Type Field Description StringhostStringinputbooleanlegacyPrefixesStringpasswordintportbooleansortbooleantransactionalStringuser-
Fields inherited from class org.apache.activemq.artemis.cli.commands.ActionAbstract
context, DEFAULT_BROKER_ACCEPTOR, DEFAULT_BROKER_URL, verbose
-
-
Constructor Summary
Constructors Constructor Description XmlDataImporter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectexecute(ActionContext context)StringgetPassword()StringgetUser()voidprocess(InputStream inputStream, String host, int port, boolean transactional)voidprocess(InputStream inputStream, ClientSession session)This is the normal constructor for programmatic access to theorg.apache.activemq.artemis.core.persistence.impl.journal.XmlDataImporterif the session passed in uses auto-commit for sends.voidprocess(InputStream inputStream, ClientSession session, ClientSession managementSession)This is the constructor to use if you wish to import all messages transactionally.voidprocess(String inputFileName, String host, int port, boolean transactional)voidsetPassword(String password)voidsetUser(String user)voidvalidate(InputStream inputStream)voidvalidate(String fileName)-
Methods inherited from class org.apache.activemq.artemis.cli.commands.ActionAbstract
checkOptions, getBrokerConfiguration, getBrokerEtc, getBrokerHome, getBrokerInstance, getBrokerURIInstance, getBrokerURLInstance, isVerbose, setHomeValues
-
-
-
-
Method Detail
-
getPassword
public String getPassword()
-
setPassword
public void setPassword(String password)
-
getUser
public String getUser()
-
setUser
public void setUser(String user)
-
execute
public Object execute(ActionContext context) throws Exception
- Specified by:
executein interfaceAction- Overrides:
executein classActionAbstract- Throws:
Exception
-
process
public void process(String inputFileName, String host, int port, boolean transactional) throws Exception
- Throws:
Exception
-
process
public void process(InputStream inputStream, ClientSession session) throws Exception
This is the normal constructor for programmatic access to theorg.apache.activemq.artemis.core.persistence.impl.journal.XmlDataImporterif 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 importsession- 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 importsession- used for sending messages, doesn't need to auto-commit sendsmanagementSession- used for management queries, must use auto-commit for sends- Throws:
Exception
-
process
public void process(InputStream inputStream, String host, int port, boolean transactional) throws Exception
- Throws:
Exception
-
validate
public void validate(InputStream inputStream) throws Exception
- Throws:
Exception
-
-