Chapter 3. JBoss AS Perspective

3.1. The JBoss Server View
3.1.1. JBoss Server View Toolbar
3.1.2. JBoss Server View Structure
3.1.3. <diffmk:wrapper>Drag-n-Drop to JBoss Server View</diffmk:wrapper>
3.1.4. Server Log View
3.1.5. Server Editor
3.1.6. Relevant Resources Links
3.2. Project Archives View
3.2.1. Overview
3.2.2. Creating an Archive
3.2.3. Archive Actions
3.2.4. Publishing to Server
3.2.5. Relevant Resources Links

This chapter tells how to manage installed JBoss Server via JBoss AS perspective.

The JBoss AS perspective is similar to the Java perspective, but it contains a few additional views. Two of the additional views are standard views, specifically the Console view and the Properties view. The other two views that are added are the Project archives view and the JBoss Server View.

The JBoss Server View is built on Common Navigator Framework allowing extensions and is using label decorators what makes the UI enough compact without loosing the vital information.

Let's have a look at the JBoss Server View and inspect in detail all parts it consists of.


The JBoss Server View displays all declared servers as well as their current states (that is whether they are started or stopped) and statuses in the square brackets next to a server name.


The following table lists possible server statuses.


You can control a server behavior as well as adjust some server preferences with the help of the context menu commands.


All available context menu commands are described in the following table.


Under the server element in the JBoss Server View, you can see currently deployed to the server modules and some server extensions which provide the additional information on the server.

The context menu for any module allows you to remove it from the server, force a full or incremental republish upon it.


The <diffmk:wrapper>Filesets</diffmk:wrapper> <diffmk:wrapper> category in the </diffmk:wrapper><diffmk:wrapper>JBoss Server View</diffmk:wrapper><diffmk:wrapper> is intended for files filtering.</diffmk:wrapper>

<diffmk:wrapper>To add a new file filter, right-click the </diffmk:wrapper> <diffmk:wrapper>Filesets</diffmk:wrapper> <diffmk:wrapper> category and select </diffmk:wrapper> <diffmk:wrapper>Create File Filter</diffmk:wrapper><diffmk:wrapper>.</diffmk:wrapper><diffmk:wrapper>The </diffmk:wrapper><diffmk:wrapper>New File Filter wizard</diffmk:wrapper><diffmk:wrapper> should appear.</diffmk:wrapper>


<diffmk:wrapper>The wizard asks you to enter the filter name and add includes and excludes patterns. The preview box underneath gives a list of files matched to the defined patterns.</diffmk:wrapper>


<diffmk:wrapper>After the filter is created, you can observe it by expanding the </diffmk:wrapper> <diffmk:wrapper>Filesets</diffmk:wrapper> <diffmk:wrapper> category in the </diffmk:wrapper><diffmk:wrapper>JBoss Server View</diffmk:wrapper><diffmk:wrapper>.</diffmk:wrapper>

<diffmk:wrapper>It's possible now to edit files directly from the </diffmk:wrapper> <diffmk:wrapper>Filesets</diffmk:wrapper> <diffmk:wrapper> category. Double clicking on a file from </diffmk:wrapper> <diffmk:wrapper>Filesets</diffmk:wrapper> <diffmk:wrapper> opens up the editor automatically or you can use the </diffmk:wrapper> <diffmk:wrapper>Edit File</diffmk:wrapper> <diffmk:wrapper> context menu command.</diffmk:wrapper>


<diffmk:wrapper>To delete a file filter (or just a file) from the </diffmk:wrapper> <diffmk:wrapper>Filesets</diffmk:wrapper><diffmk:wrapper>,</diffmk:wrapper><diffmk:wrapper> right-click a file filter (or the unnecessary file) and select the </diffmk:wrapper> <diffmk:wrapper>Delete File Filter</diffmk:wrapper> <diffmk:wrapper>(</diffmk:wrapper><diffmk:wrapper>Delete File</diffmk:wrapper><diffmk:wrapper>)</diffmk:wrapper><diffmk:wrapper> command.</diffmk:wrapper>


The <diffmk:wrapper>XML Configuration</diffmk:wrapper> <diffmk:wrapper> category allows you to quickly browse to descriptor files in your server's deploy directory and check or change the values. Basically, </diffmk:wrapper> XML Configuration <diffmk:wrapper> includes XML XPaths where a xpath is a path used to access some specific part of an xml document. </diffmk:wrapper>

<diffmk:wrapper>The </diffmk:wrapper> <diffmk:wrapper>XML Configuration</diffmk:wrapper> category itself contains only a list of categories. Ports <diffmk:wrapper> are provided by default and is filled with many of the most commonly used ports in the </diffmk:wrapper>JBoss Server.


By right-clicking on XML Configuration, <diffmk:wrapper> you can create a new category. Besides, context menu for </diffmk:wrapper> XML Configuration <diffmk:wrapper> category makes possible to disable it. You can disable any category in the bottom part of the </diffmk:wrapper> JBoss Server View. Look for them in the Inactive Categories afterwards to re-enable.


By right-clicking on Ports or any other category in XML Configuration , you can create a new xpath.


After that, the dialog shown below will appear.


<diffmk:wrapper>The goal here is to get an end result where the XPath matches up with a necessary property. With that in mind, let's look how it works. If the property you want to reach is the value of the </diffmk:wrapper>name<diffmk:wrapper> attribute in the element </diffmk:wrapper><mbean>, then your XPath Patten should end with mbean and your Attribute Name should be name like on the next figure.


...
<server>
...
    <mbean code="org.jboss.ejb.EJBDeployer" 
                   name="jboss.ejb:service=EJBDeployer" xmbean-dd="">
  
     <!-- Inline XMBean Descriptor BEGIN -->
         <xmbean>
             <description>
                    The EJBDeployer responsible for ejb jar deployment</description> 
               ...
         </xmbean>
     </mbean>
</server>

Tip:

<diffmk:wrapper>Notice, when you type the fields autocomplete to help you locate exactly what xpath you're looking for.</diffmk:wrapper>

<diffmk:wrapper>Then, on the other hand, if your desired field is the text of an element </diffmk:wrapper><description>, your XPath Patten should end with description and Attribute Name field should be left blank. When finished, click Preview to see how many matches you have for that particular XPath.


<diffmk:wrapper>Starting from 2.0.0.CR2 version of </diffmk:wrapper><diffmk:wrapper>JBoss AS Tools</diffmk:wrapper><diffmk:wrapper> the </diffmk:wrapper><diffmk:wrapper>JBoss Server View</diffmk:wrapper><diffmk:wrapper> supports drag-n-drop of deployable and runnable projects/resources.</diffmk:wrapper>


<diffmk:wrapper>With drag-n-drop the following actions can be performed:</diffmk:wrapper>

  • <diffmk:wrapper>dragging a project to a server will deploy it to the server and run it by showing the main page in a browser</diffmk:wrapper>

  • <diffmk:wrapper>dragging an </diffmk:wrapper> <diffmk:wrapper>.xhtml</diffmk:wrapper> <diffmk:wrapper> file from </diffmk:wrapper> <diffmk:wrapper>WebContent</diffmk:wrapper> <diffmk:wrapper> will do the same and show the corresponding page in a browser</diffmk:wrapper>

  • <diffmk:wrapper>dragging a deployable resource (i.e. a datasource (</diffmk:wrapper> <diffmk:wrapper>-ds.xml</diffmk:wrapper><diffmk:wrapper>) file that has been made deployable) will simply deploy that resource directly to the server</diffmk:wrapper>

<diffmk:wrapper>In short, the feature does the same thing as if you used the </diffmk:wrapper> <diffmk:wrapper>Run On Server</diffmk:wrapper> <diffmk:wrapper> option or </diffmk:wrapper> <diffmk:wrapper>Add and Remove Projects</diffmk:wrapper> <diffmk:wrapper> option in the context menu of the server.</diffmk:wrapper>

By double-clicking on any server, an editor window will appear allowing you to edit parts of that server.


Tip:

On the figure you can see that a username/password is available in the UI when configuring the server. If you get an SecurityException when trying to launch the server, it is most likely because your server is protected and hence you need to fill the username/password fields with appropriate values.

It should be pointed out that our server adapter by default tries to automatically detect the ports it needs for integrating with a JBoss Server. Sometimes it can though be relevant to override this automatic detection if you are using some custom configuration. For this purposes the Server Ports section in the Server editor is provided where the port settings are configurable. Click the Configure... link to bring up the wizard for adjusting the settings for the ports.


Press Edit XPath button for the chosen port to configure its XPath's values.


The settings related to Publishing , Timeouts or Server Polling can be also adjusted in the Server editor.

Server editor makes it also possible to modify the server's launch configuration. It's just after clicking Open launch configuration link. In the open window there are the tabs for setting command line arguments and other things that are relevant to launching the server.


Look up here to find parameters which can be specified for JBoss Server.

Every application, whether Plain Old Java, J2EE, or some other language altogether, needs to be packaged in some way. In Java-related projects, many people use ANT.

But JBoss Tools come with our own Archives tool with a bit easier and less-verbose XML and a handy user interface. The Project Archives plugin consists primarily of a view, that is Project Archives view, to set up each packaging configuration.

So far, let's look through all functionality that the Project Archives view provides.

When you open the Project archives view for the first time, it asks you to select the project for what you want to create an archive.


When creating a new archive for selected project, you have some different options at your disposal. You need right-click inside the view and select New Archive to see your archive type options.


Note:

If you see only JAR from the list of available archive types, you should verify whether AS Tools plugins/features are in place. EAR, EJB JAR and WAR options are contributed by the AS Tools independently from webtools and the virtual project model. Thus, without them only JAR will show up.

JAR is the standard archive type, and does very little configuration, leaving most of the work up to you. You can customize the name, add folders, filesets, and inner jars to it.

The other types, for the most part, simply start off with a default setting, usually the jar with some specific children based on an expected structure of the project. For example, if the project is a Dynamic Web Project, and you create a WAR archive, the archive will be created with a few filesets relevant to the known structure of the project.

Here is the first page of all New archive wizards. It is the same for any archive type and the only page in the New Jar wizard.


The page is pretty simple. First it asks to set the name of your new archive and a destination.

The destination of an archive can be anywhere on the file system, anywhere in the workspace, inside some other archive, or inside a folder declared inside an archive. Select the necessary checkbox (either workspace or file system ) for marking the destination as related to either workspace or file system. You can browse to workspace or filesystem destinations by clicking on their respective buttons. To select a destination inside some other archive, you'll need to press the Workspace button. At the bottom of the list, you'll see archives that have been declared in the workspace.


Also in the wizard for creating a new archive you can choose whether an archive to be compressed or exploded into a folder (without compression). You need just select proper chechbox in the Archive type section.

If a build or incremental update fails Project Archives will show an error dialog:


Click in Details to see detailed information about what caused the error.

In the Package Explorer you can observe the created archive.


If you use the exploded type of archiving, instead of a single file archive the result put into a folder is displayed in the Package Explorer.


Refer to Ant manual to find more on how to build your applications with help of Ant.

We also recommend you to watch the movie which demonstrates a powerful archiving functionality in JBoss Tools.

At this point, you are guessed to be familiar with JBoss AS perspective and your next step now is to explore how to work with different kinds of projects.