我正在使用JBOSS AS7,我希望使用Java或JBOSS API在服务器中部署/运行应用程序,其状态已部署/失败。
如果有人可以帮助我,请告诉我。
提前致谢。
巴勒特。
答案 0 :(得分:1)
通过我所有的研究,我找到了答案。以下是用于在服务器中运行应用程序的API https://github.com/jbossas/jboss-as-maven-plugin。
在代码片段下面创建客户端后,将获得结果。
import static org.jboss.as.controller.client.helpers.ClientConstants.CHILD_TYPE;
import static org.jboss.as.controller.client.helpers.ClientConstants.DEPLOYMENT;
import org.jboss.as.controller.client.helpers.Operations;
ModelNode op = Operations.createOperation("read-children-names");
op.get(CHILD_TYPE).set(DEPLOYMENT);
final ModelNode listDeploymentsResult = client.execute(op);
答案 1 :(得分:0)
你必须使用一些技巧来完成你的工作。以下是几个选项:
JBOSS_HOME/standalone/deployments
文件夹中是否有名称为app.war.deployed或app.war.failed的文件。server.log
文件夹的JBOSS_HOME/standalone/log
文件中,检查字符串Deployed "app.war"
。如果字符串在那里,那么你的应用程序就不会被部署。答案 2 :(得分:0)
static ModelControllerClient createClient(final InetAddress host, final int port,
final String username, final char[] password, final String securityRealmName) {
final CallbackHandler callbackHandler = new CallbackHandler() {
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
for (Callback current : callbacks) {
if (current instanceof NameCallback) {
NameCallback ncb = (NameCallback) current;
ncb.setName(username);
} else if (current instanceof PasswordCallback) {
PasswordCallback pcb = (PasswordCallback) current;
pcb.setPassword(password.toCharArray());
} else if (current instanceof RealmCallback) {
RealmCallback rcb = (RealmCallback) current;
rcb.setText(rcb.getDefaultText());
} else {
throw new UnsupportedCallbackException(current);
}
}
}
};
return ModelControllerClient.Factory.create(host, port, callbackHandler);
}