2011-08-04 6 views
0

는 내가 글래스 피시 도메인 생성 서열을 포함하는 작은 파일을 작성한 플러그인 간부 받는다는 통해 : 나는 보통 모든 양태에서는 단계를 실행배치 명령 줄에서 작업 도메인의 생성,하지만 다음과 같습니다

create-domain --adminPort 4848 --instancePort 8080 pouet 
start-domain pouet 
create-jdbc-connection-pool --datasourceclassname=org.apache.derby.jdbc.ClientDataSource --restype=javax.sql.ConnectionPoolDataSource --validationmethod=meta-data --description="Client datasource using an external Derby instance" --property port=1527:password=pouet:user=pouet:serverName=localhost:databaseName=pouet:connectionAttributes=create\\=true jdbc/datasource/pouet 
create-jms-resource --restype javax.jms.ConnectionFactory --description "Standard pouet connection factory" jms/pouet/ConnectionFactory 
create-jms-resource --restype javax.jms.Topic --property Name=jms_CrudServiceNotifier jms/CrudServiceNotifier 
create-jms-resource --restype javax.jms.Topic jms/TaskExecution 
create-jms-resource --restype javax.jms.Topic jms/TaskExecution/InDesign 
deploy --force "C:\\Documents and Settings\\ndx\\.m2\\repository\\com\\netoprise\\neo4j-connector\\0.1-SNAPSHOT\\neo4j-connector-0.1-SNAPSHOT.rar" 
create-connector-connection-pool --raname=neo4j-connector-0.1-SNAPSHOT --connectiondefinition=com.netoprise.neo4j.connection.Neo4JConnectionFactory --property=xa=true:dir=\$\{com.sun.aas.instanceRoot\}/lib/databases/neo4j Neo4jPool 
create-connector-resource --poolname=Neo4jPool neo4j/pool 

글래스 피시 asadminmultimode.

그것은 실행할 2 분 미만이 소요 다음 명령

E:\java-ext\glassfish3\bin\asadmin.bat --user "pouet" --passwordfile src\main\config\glassfish.password multimode --file target\config\current\create-domain.txt 

를 사용하여 손으로 모두 실행하는 경우.

그러나 다음과 같은 치어 구성

   <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>exec-maven-plugin</artifactId> 
        <version>1.2</version> 
        <executions> 
         <execution> 
          <id>create start and configure domain</id> 
          <phase>package</phase> 
          <goals> 
           <goal>exec</goal> 
          </goals> 
         </execution> 
        </executions> 
        <configuration> 
         <executable>${glassfish.asadmin}</executable> 
         <arguments> 
          <argument>--user</argument> 
          <argument>"${glassfish.user}"</argument> 
          <argument>--passwordfile</argument> 
          <argument>"${glassfish.passwordFile}"</argument> 
          <argument>multimode</argument> 
          <!-- - - file is a multimode subcommand parameter, and not an asadmin parameter --> 
          <argument>--file</argument> 
          <argument>"${user.glassfish.config.path}/create-domain.txt"</argument> 
         </arguments> 
        </configuration> 
       </plugin> 

를 사용하여 받는다는를 통해 실행할 때 그것은 로그와 도메인 시작시 중단 된 상태로 유지됩니다 마지막 행은

No domain initializers found, bypassing customization step 
Domain pouet created. 
Domain pouet admin port is 4848. 
Domain pouet admin user is "pouet". 
Command create-domain executed successfully. 
Attempting to start pouet.... Please look at the server log for more details..... 

Process Explorer되는 것은 간부에 의해 만들어지는 모든 프로세스를 나타냅니다 메이븐 플러그인, 절대적으로 CPU 소비.

게다가, 간부 받는다는 플러그인을 만들어 명령 줄을 내가 손으로 입력 한 것과 완전히 동일하다

[DEBUG] Executing command line: cmd /c E:\java-ext\glassfish3\bin\asadmin.bat --user "pouet" --passwordfile "E:\JavaWorkspace\pouet\pouet-ear/src/main/config/glassfish.password" multimode --file "E:\JavaWorkspace\pouet\pouet-ear/target/config/current/create-domain.txt" 

입니다.

그럼 ... 아마도 그 프로세스가 멈출 수 있습니까? 그리고 그것을 해결하기 위해 무엇을 할 수 있습니까? --verbose 플래그를 추가

[편집] 시작 도메인하는 과정은 다음과 같은 사람을 중단하기 전에 명령으로 마지막 줄을 표시

4 août 2011 16:05:58 com.sun.enterprise.admin.launcher.GFLauncherLogger info 
INFO: Successfully launched in 16 msec. 
[#|2011-08-04T16:06:03.078+0200|INFO|glassfish3.1|null|_ThreadID=1;_ThreadName=Thread-1;|Running GlassFish Version: GlassFish Server Open Source Edition 3.1 (build 43)|#] 

[#|2011-08-04T16:06:03.156+0200|INFO|glassfish3.1|org.glassfish.ha.store.spi.BackingStoreFactoryRegistry|_ThreadID=10;_ThreadName=Thread-1;|Registered org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy for persistence-type = replicated in BackingStoreFactoryRegistry|#] 

[#|2011-08-04T16:06:03.843+0200|INFO|glassfish3.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=27;_ThreadName=Thread-1;|Grizzly Framework 1.9.31 started in: 297ms - bound to [0.0.0.0:8181]|#] 

[#|2011-08-04T16:06:03.859+0200|INFO|glassfish3.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=28;_ThreadName=Thread-1;|Grizzly Framework 1.9.31 started in: 266ms - bound to [0.0.0.0:4848]|#] 

[#|2011-08-04T16:06:03.859+0200|INFO|glassfish3.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=32;_ThreadName=Thread-1;|Grizzly Framework 1.9.31 started in: 219ms - bound to [0.0.0.0:3700]|#] 

[#|2011-08-04T16:06:03.859+0200|INFO|glassfish3.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=29;_ThreadName=Thread-1;|Grizzly Framework 1.9.31 started in: 391ms - bound to [0.0.0.0:8080]|#] 

[#|2011-08-04T16:06:03.921+0200|INFO|glassfish3.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=35;_ThreadName=Thread-1;|Grizzly Framework 1.9.31 started in: 15ms - bound to [0.0.0.0:7676]|#] 

[#|2011-08-04T16:06:04.109+0200|INFO|glassfish3.1|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=1;_ThreadName=Thread-1;|GlassFish Server Open Source Edition 3.1 (43) startup time : Felix (3 360ms), startup services(1 656ms), total(5 016ms)|#] 

[#|2011-08-04T16:06:05.281+0200|INFO|glassfish3.1|javax.enterprise.system.tools.admin.org.glassfish.server|_ThreadID=46;_ThreadName=Thread-1;|JMXStartupService: Started JMXConnector, JMXService URL = service:jmx:rmi://172.27.63.177:8686/jndi/rmi://172.27.63.177:8686/jmxrmi|#] 

사람이 무엇을 JMX 후 시작하는 것입니다, 무엇을 알고있는 경우 아마도 그걸 막을 수 있을지도 모르겠지만 그 괴괴 망측 한 벌레를 고칠 수 있도록 도와 줄 것입니다.

답변

1

필자가 예상 한 것보다 더 많은 메이크업을 했으므로 이제 해결책을 찾았습니다. 이것은 (분명히) maven-antrun-plugin 방법입니다. 그래서 사용

, 나는 다음과 같은 받는다는 antrun 코드

    <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-antrun-plugin</artifactId> 
        <executions> 
         <execution> 
          <id>create start and configure domain</id> 
          <phase>process-resources</phase> 
          <goals> 
           <goal>run</goal> 
          </goals> 
          <configuration> 
           <failOnError>true</failOnError> 
           <target> 
            <exec executable="${glassfish.asadmin}" dir="${glassfish.asadmin.path}" 
             failonerror="true" vmlauncher="false"> 
             <arg value="--echo"/> 
             <arg value="true"/> 
             <arg value="--interactive"/> 
             <arg value="false"/> 
             <arg value="--user"/> 
             <arg value="${glassfish.user}"/> 
             <arg value="--passwordfile"/> 
             <arg value="${glassfish.passwordFile}"/> 

             <arg value="multimode"/> 

             <arg value="--printprompt=false"/> 
             <arg value="--file"/> 
             <arg value="${user.glassfish.config.path}/create-domain.txt"/> 
            </exec> 
           </target> 
          </configuration> 
         </execution> 
        </executions> 

으로 받는다는 임원 구성을 대체 그리고 그것은 완벽하게 작동합니다!