As of CARGO 1.0.3, the way CARGO supports remote deployments on the JBoss Application Server has drastically evolved. This document explains how to configure this support.
JBoss 4.0.x and 4.2.x
In JBoss 4.x, the JMX-based remote deployer can accept URLs that point to another machine. For example:
In this case, our JBoss server on 10.156.216.127 will connect to 10.156.220.90 via HTTP and download the paruemas-1.0-SNAPSHOT.war file. Once the file is downloaded, JBoss will automatically deploy it.
The CARGO JBoss container uses this principle to expose your Java EE application to JBoss using an HTTP server that is started on the machine where CARGO is currently running. That HTTP server is controlled using two parameters:
- JBossPropertySet.REMOTEDEPLOY_HOSTNAME (i.e.,
cargo.jboss.remotedeploy.hostname): sets the hostname that the JBoss server will attempt to connect to. By default, the CARGO JBoss container will automatically resolve the current machine's network name or IP address and fill this accordingly.
- JBossPropertySet.REMOTEDEPLOY_PORT (i.e.,
cargo.jboss.remotedeploy.port): sets the port number on which the HTTP server will be started on the machine running CARGO. By default, that one is set to 1 + the HTTP port for JBoss. For example, if JBoss is running on 8080, then the default for JBossPropertySet.REMOTEDEPLOY_PORT will be 18080.
The obvious limitation you should be aware of is that JBoss needs to have direct access to the machine running CARGO.
JBoss 5.0.x, 5.1.x, 6.0.x and onwards
TODO: Remote deployer, classpath configuration