undeploy - Interactive Application Deployment on JBoss
wildfly unmanaged deployment (2)
In JBoss AS 7, is there a way to interactively deploy an application? In other words, rather than manually creating JBoss deployment descriptors prior to deployment (e.g. jboss-web.xml), is there a way for JBoss to prompt the deployer for information that it needs in order to successfully deploy and/or is there an API that can be invoked programmatically or via scripting to do this? For example, if an application defines a resource reference or environment entry which is annotated in the code (
@Resource), how is a deployer to know that this resource reference must be bound at deployment-time?
For some background, I've been using IBM WebSphere Application Server as my primary Java EE application server and it provides Java APIs, wsadmin commands, and a GUI wizard in the admin console which prompt deployers for the deployment information that it needs to deploy an application and generates its own custom descriptor files during deployment. I'm hoping that other application servers, in particular, JBoss 7, also provide similar functionality.
One of the goals is to be able to automate the deployment of a diverse set of portable Java EE applications (i.e. applications that will not have JBoss-specific descriptors containing deployment information), and to prevent deployers manually performing deployments from being intimately familiar not only with the application and module deployment descriptors, but more importantly, all of the annotations contained in the code that must be managed at deployment-time (such as
In particular, I'm looking for the fulfillment of this requirement in the Java EE specification:
EE.2.12.4 Deployment Descriptors and Annotations
The Java EE Product Provider is required to provide a deployment tool that interprets the Java EE deployment descriptors and class file annotations and allows the Deployer to map the application component’s requirements to the capabilities of a specific Java EE product and environment.
While the specification is somewhat ambiguous as to what this means and how it is implemented, in my opinion, WebSphere Application Server fulfills this requirement beautifully, whereas many other application servers (such as JBoss, it seems) that require the manual creation of custom descriptors prior to deployment fall short.
I think you're looking for the JBoss Web Management Console which provides a web interface for deploying EAR, WAR, and JAR files. It has some administration and maintenance capabilities but not the dynamic dependency management your suggesting.
In addition to the management console that jpredham suggests there is also a maven plugin that might do what you are looking for. A new version, 7.0.1, has been released and there is a blog post describing how to add resources using the maven plugin.