Glassfish is an application server as it handles EJB requests (EJB Container) while Tomcat is a Web Container - it can't handle EJB components. So, what are the components of the application you plan to run. If your application uses Servlets and JSPs, then GlassFish is an overkill. If you have EJBs then you can't use Tomcat anyway. So, I think it starts with your requirements first.
I got it working on my own. The answer were these commands:
.\run.bat -Djboss.service.binding.set=ports-01 -c ports-01
.\run.bat -Djboss.service.binding.set=ports-02 -c ports-02
Also, I had to copy the server/default to 2 new directories called server/ports-01 and server/ports-02 ...
Then , in the server\ports-01\conf\bindingservice.beans\META-INF I had to remove references to instances ports-02, ports-03, and "default" from it.
Then , in the server\ports-02\conf\bindingservice.beans\META-INF I had to remove references to instances ports-01, ports-03, and "default" from it.
Then, finally, I deleted the "standard", "web", and "default" directories from the default installation in the server directory.
Then, I ran both servers with the commands above, and out-of-the-box, they work.
Also, here is a batch file to run clustered instead of separate instances:
@echo off
start .\bin\run.bat -c ports-01 -g MyLocal -u 239.255.100.100 -b 127.0.0.1 -Djboss.messaging.ServerPeerID=1 -Djboss.service.binding.set=ports-01
@echo Wait until first server finishes starting and then hit
@echo any key to start the second server in the cluster...
pause
start .\bin\run.bat -c ports-02 -g MyLocal -u 239.255.100.100 -b 127.0.0.1 -Djboss.messaging.ServerPeerID=2 -Djboss.service.binding.set=ports-02
Best Answer
We have studied relative performance of JBoss vs. Glassfish, and found that Glassfish scales much better under high loads.