NO-JIRA: adding Migrate1X into CLI
This commit is contained in:
parent
3d8bb9c5c9
commit
a8855399ee
|
@ -43,6 +43,11 @@
|
||||||
<artifactId>artemis-jms-server</artifactId>
|
<artifactId>artemis-jms-server</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.activemq</groupId>
|
||||||
|
<artifactId>artemis-tools</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.activemq</groupId>
|
<groupId>org.apache.activemq</groupId>
|
||||||
<artifactId>artemis-dto</artifactId>
|
<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.HelpAddress;
|
||||||
import org.apache.activemq.artemis.cli.commands.address.ShowAddress;
|
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.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.CreateQueue;
|
||||||
import org.apache.activemq.artemis.cli.commands.queue.DeleteQueue;
|
import org.apache.activemq.artemis.cli.commands.queue.DeleteQueue;
|
||||||
import org.apache.activemq.artemis.cli.commands.queue.HelpQueue;
|
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)").
|
builder.withGroup("data").withDescription("data tools group (print) (example ./artemis data print)").
|
||||||
withDefaultCommand(HelpData.class).withCommands(PrintData.class);
|
withDefaultCommand(HelpData.class).withCommands(PrintData.class);
|
||||||
builder = builder.withCommand(Create.class);
|
builder = builder.withCommand(Create.class);
|
||||||
|
builder = builder.withCommand(Migrate1X.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
return builder;
|
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());
|
File r = new File(f.getAbsolutePath());
|
||||||
f.renameTo(new File(f.getAbsolutePath() + ".bk"));
|
f.renameTo(new File(f.getAbsolutePath() + ".bk"));
|
||||||
file.renameTo(r);
|
file.renameTo(r);
|
||||||
|
System.out.println(f + " converted, old file renamed as " + f.getAbsolutePath() + ".bk");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
Loading…
Reference in New Issue