Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to run multiple instances of JBoss in a one single machine?

Tags:

jboss

I need to run multiple(more than 4) instances of JBoss server on a single machine. I am using JBoss 4.2.3 GA.

like image 976
Puru Avatar asked Jun 11 '10 08:06

Puru


People also ask

How do I run two WildFly servers on Windows?

In the installation folder, create new standalone1 and standalone2 folders from the default (or use the default as one of them). In there, in the deployments folder you can choose whichever deployments you need. Now go to Eclipse and in the Servers view create a new Server. Give it some suitable name and click next.

How do I start JBoss in standalone mode?

To start up a JBoss AS 7 managed domain you need to execute the $JBOSS_HOME/bin/domain.sh script, and to start up a standalone server use $JBOSS_HOME/bin/standalone.sh. This will start it up using the default configuration.


3 Answers

Copy complete JBOSS setup to new location, and start new server with offset option, which will start server on existing ip and changing port to previously_configured_port+offset

standalone.bat -c standalone-full.xml -Djboss.socket.binding.port-offset=100

This command will make default jboss console 9990 to 10090

Now you can add your war file in new deployments folder and start deployment on new port

like image 53
priyanka_rao Avatar answered Oct 05 '22 09:10

priyanka_rao


I found the answer. We have to configure the jboss-service.xml to run multiple instances in the same machine.

We may need to keep the same "default" instance same as it is under the JBOSS_HOME\Server.

We have to create another folder say "instance2" under JBOSS_HOME\Server. Copy all the contents from JBOSS_HOME\Server\default to this newly created folder.

Now goto conf folder under JBOSS_HOME\Server\instance2 directory. Edit the jboss-service.xml. Search for mbean code="org.jboss.services.binding.ServiceBindingManager" in this configuration file.

By default this xml tag is commented. We have to un comment it and change the value ports-00 to ports-01.

Then start this instance2 jboss instance. We can access this application by using the port number 8180.

We can go for at maximum of 3 instances with this way.

To run more than this we have to add some more running tags in JBOSS_HOME\docs\examples\binding-manager\sample-bindings.xml.

like image 35
Puru Avatar answered Oct 05 '22 10:10

Puru


You can make things a lot simpler by simply changing the IP that the server is bound to.

You will need to copy the entire jboss folder several times and configure run.bat to use the -b parameter on startup.

If this is a Windows server and you're running jboss as a service, you might want to edit the service.bat for each instance too so that the servers all have different names in the services control panel.

Part of the problem we ran into when trying to use different HTTP ports was that jboss uses 'lots' of ports for different purposes and it was a pain to edit all of these port numbers to be unique on each instance. By changing the bind address you can avoid this problem entirely.

like image 36
James Clarke Avatar answered Oct 05 '22 10:10

James Clarke