2016-06-29 2 views
2

java에서 유효한 경우 일부 cli 명령을 확인하고 싶습니다. 현재 실행중인 config 파일을 사용할 수 없습니다. 또한 실행중인 Wildfly를 전혀 사용할 수 없기 때문에 매번 다시로드해야합니다.Java 코드에서 jboss cli의 임베디드 서버를 시작하려면 어떻게해야합니까?

그래서 나는 오프라인 CLI (임베디드 서버 CLI)를 사용하려는

내가하고 있어요 :

연결 CLI에 org.jboss.as.cli.scriptsupport.CLI

CLI cli = CLI.newInstance(); 
cli.connect("127.0.0.1",9990,"admin","admin".toCharArray()); 

를 사용하여 임베디드 서버 시작 via cli.cmd

cli.cmd("embed-server --server-config=standalone.xml --std-out=discard"); 

하지만이 명령을 끝내기 위해 영원히 기다리는 나와 떨어져서 (?) 아무 일도 일어나지 않습니다.

내가 알아챈 한 가지는, 응용 프로그램 configuration-management.war을 wildfly에 배포 한 후 상태가 "배포 됨"으로 변경되었습니다. 그러나 서비스가 시작되지 않습니다. 그 후에 많은 관심을 기울이지 않았습니다. 응용 프로그램의 출력을 볼 수 있기 때문입니다. 어쩌면 이것과 관련이 있을까요?

2016-06-29 15:59:55,333 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 83) WFLYUT0021: Registered web context: /configuration 

2016-06-29 15:59:55,364 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) WFLYSRV0016: Replaced deployment "configuration-management.war" with deployment "configuration-management.war" 

2016-06-29 15:59:55,364 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) WFLYCTL0183: Service status report 

WFLYCTL0186: Services which failed to start:  service jboss.deployment.unit."configuration-management.war".POST_MODULE 



2016-06-29 16:00:29,530 INFO [stdout] (default task-1) this is mine! 

모두가 내가 아직 응답을 기다리고 있음을 나타냅니다 내 모질라 파이어 폭스의 왼쪽 상단 모서리에 죽음의 단지 작은 물레이다.

힌트가 있습니까?

답변

1

임베디드 서버를 시작하면 인터페이스가 시작되지 않습니다. 여기에는 관리 인터페이스가 포함됩니다. 스크립트 지원이 임베디드 CLI를 허용하는 것처럼 보이지 않습니다. 당신은 그것을 지원할 수 file a feature request 수 있습니다.

그러나이를 달성하려면 CLI CommandContext API를 사용할 수 있습니다.

final CommandContext commandContext = CommandContextFactory.getInstance().newCommandContext(); 
commandContext.handle("embed-server --jboss-home=/path/to/wildfly-10.0.0.Final"); 
commandContext.handle(":read-resource"); 
commandContext.handle("stop-embedded-server"); 

module add처럼뿐만 아니라 설정하는 jboss.home.dir 시스템 등록 정보가 필요합니다, 어떤 명령을주의 마십시오.