[jboss-svn-commits] JBL Code SVN: r33429 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina: src/main/java/org/drools/grid/remote/mina and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jun 9 16:52:15 EDT 2010


Author: diegoll
Date: 2010-06-09 16:52:14 -0400 (Wed, 09 Jun 2010)
New Revision: 33429

Modified:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/pom.xml
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeRunner.java
Log:
added command arguments parsing. Run it with $ mvn exec:java -Dexec.args="--address 127.0.0.1 --port 9125"

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/pom.xml	2010-06-09 20:33:46 UTC (rev 33428)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/pom.xml	2010-06-09 20:52:14 UTC (rev 33429)
@@ -37,7 +37,12 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
+        </dependency>
 
+        <dependency>
+          <groupId>net.sf.jopt-simple</groupId>
+          <artifactId>jopt-simple</artifactId>
+          <version>3.2</version>
         </dependency>
 
         <dependency>
@@ -73,7 +78,6 @@
         <artifactId>exec-maven-plugin</artifactId>
         <configuration>
           <mainClass>org.drools.grid.remote.mina.MinaNodeRunner</mainClass>
-          <commandlineArgs>-Djava.net.preferIPv4Stack=true</commandlineArgs>
         </configuration>
       </plugin>
     </plugins>

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeRunner.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeRunner.java	2010-06-09 20:33:46 UTC (rev 33428)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-grid/drools-grid-remote-mina/src/main/java/org/drools/grid/remote/mina/MinaNodeRunner.java	2010-06-09 20:52:14 UTC (rev 33429)
@@ -4,6 +4,10 @@
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 
+import joptsimple.OptionParser;
+import joptsimple.OptionSet;
+import joptsimple.OptionSpec;
+
 import org.apache.mina.transport.socket.SocketAcceptor;
 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
 import org.drools.SystemEventListenerFactory;
@@ -17,8 +21,15 @@
 	private static Logger logger = LoggerFactory.getLogger(MinaNodeRunner.class);
 	
 	public static void main(String[] args) throws IOException {
-		logger.info("server starting");
-		SocketAddress address = new InetSocketAddress("127.0.0.1", 9123);
+        OptionParser parser = new OptionParser();
+        OptionSpec<String> addressOpt = parser.accepts("address", "the address to bind the node").withRequiredArg().ofType(String.class);
+        OptionSpec<Integer> portOpt = parser.accepts("port", "the port to listen in the given address").withRequiredArg().ofType(Integer.class);
+        OptionSet options = parser.parse(args);
+
+		String address = options.valueOf(addressOpt);
+		int port = options.valueOf(portOpt);
+		logger.info("starting server");
+		SocketAddress socket = new InetSocketAddress(address, port);
 		NodeData nodeData = new NodeData();
 		// setup Server
 		SocketAcceptor acceptor = new NioSocketAcceptor();
@@ -26,14 +37,15 @@
 							new GenericMessageHandlerImpl(nodeData,
 									SystemEventListenerFactory.getSystemEventListener())));
 		
-       final MinaAcceptor minaAcceptor = new MinaAcceptor(acceptor, address);
+       final MinaAcceptor minaAcceptor = new MinaAcceptor(acceptor, socket);
        Runtime.getRuntime().addShutdownHook(new Thread() {
            public void run() {
+        	   logger.info("stoping server...");
                minaAcceptor.stop();
                logger.info("server stoped...");
            }
         });
        minaAcceptor.start();
-       logger.info("server started at "+ address.toString() +" ... (ctrl-c to stop it)");
+       logger.info("server started at "+ socket.toString() +" ... (ctrl-c to stop it)");
 	}
 }



More information about the jboss-svn-commits mailing list