NO-JIRA: adding Migrate1X into CLI
This commit is contained in:
parent
3d8bb9c5c9
commit
a8855399ee
|
@ -43,6 +43,11 @@
|
|||
<artifactId>artemis-jms-server</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.activemq</groupId>
|
||||
<artifactId>artemis-tools</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.activemq</groupId>
|
||||
<artifactId>artemis-dto</artifactId>
|
||||
|
|
|
@ -36,6 +36,7 @@ import org.apache.activemq.artemis.cli.commands.address.DeleteAddress;
|
|||
import org.apache.activemq.artemis.cli.commands.address.HelpAddress;
|
||||
import org.apache.activemq.artemis.cli.commands.address.ShowAddress;
|
||||
import org.apache.activemq.artemis.cli.commands.address.UpdateAddress;
|
||||
import org.apache.activemq.artemis.cli.commands.migration1x.Migrate1X;
|
||||
import org.apache.activemq.artemis.cli.commands.queue.CreateQueue;
|
||||
import org.apache.activemq.artemis.cli.commands.queue.DeleteQueue;
|
||||
import org.apache.activemq.artemis.cli.commands.queue.HelpQueue;
|
||||
|
@ -154,6 +155,7 @@ public class Artemis {
|
|||
builder.withGroup("data").withDescription("data tools group (print) (example ./artemis data print)").
|
||||
withDefaultCommand(HelpData.class).withCommands(PrintData.class);
|
||||
builder = builder.withCommand(Create.class);
|
||||
builder = builder.withCommand(Migrate1X.class);
|
||||
}
|
||||
|
||||
return builder;
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.activemq.artemis.cli.commands.migration1x;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import io.airlift.airline.Arguments;
|
||||
import io.airlift.airline.Command;
|
||||
import org.apache.activemq.artemis.cli.commands.ActionAbstract;
|
||||
import org.apache.activemq.artemis.cli.commands.ActionContext;
|
||||
import org.apache.activemq.artemis.tools.migrate.config.Main;
|
||||
|
||||
@Command(name = "migrate1x", description = "Migrates the configuration of a 1.x Artemis Broker")
|
||||
public class Migrate1X extends ActionAbstract {
|
||||
|
||||
@Arguments(description = "The instance directory to hold the broker's configuration and data. Path must be writable.", required = true)
|
||||
File directory;
|
||||
|
||||
@Override
|
||||
public Object execute(ActionContext context) throws Exception {
|
||||
if (!directory.exists()) {
|
||||
throw new RuntimeException(String.format("The path '%s' does not exist.", directory));
|
||||
}
|
||||
super.execute(context);
|
||||
return run(context);
|
||||
}
|
||||
|
||||
public Object run(ActionContext context) throws Exception {
|
||||
Main.scanAndTransform(directory);
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -65,6 +65,7 @@ public class Main {
|
|||
File r = new File(f.getAbsolutePath());
|
||||
f.renameTo(new File(f.getAbsolutePath() + ".bk"));
|
||||
file.renameTo(r);
|
||||
System.out.println(f + " converted, old file renamed as " + f.getAbsolutePath() + ".bk");
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
|
Loading…
Reference in New Issue