A JBoss Project
Red Hat

Posts tagged with 'jbosstools'

Over the past two years we have been working hard to rationalize and improve the support for different Hibernate versions in the JBoss Tools suite. This effort has resulted in real multiversion support but some of the changes may have an impact on the way how you tackle your Hibernate projects in JBoss Tools. Read on if you are a user of Hibernate reverse engineering tooling and of the Hibernate console configuration.

Why Did We Need These Changes in the First Place?

Already for a long time there was support for multiple Hibernate versions in JBoss Tools. When creating a console configuration for instance, it was possible to select the desired version using a dropdown box.


After choosing the appropriate version for a console configuration, and using this console configuration for the reverse engineering of entity classes from the database, one can see below that effectively the selected version of Hibernate was used for the generation (in this case 4.0).


OK, so far so good. But when we needed to provide support for JPA 2.1 we stumbled across a major problem. We added the Hibernate 4.3 runtime which contains JPA 2.1 support and all seemed to be going well. Unfortunately we found that expanding the created console configuration for JPA 2.1 projects resulted in the error message below.


Investigation of this problem showed that there was a mixup of Hibernate classes due to a mistake in the dependency graph between the different Eclipse plugins that contained the respective Hibernate runtime contributions. At this point the dependencies looked like the schema below.


It turned out that, no matter what Hibernate version you chose for the console configuration, expanding the configuration in the Eclipse view was always using the Hibernate 3.5 classes exposed by the org.hibernate.eclipse.libs plugin. To summarize, some of the functionality of the Hibernate tooling in Eclipse was using the chosen version properly while the rest of the functionality was always using version 3.5.

OK This Looks Messy Indeed, How Did We Solve It?

So the problem with the schema above is the direct dependency of the org.hibernate.eclipse plugin (as well as some other of the Hibernate tools Eclipse plugins) on org.hibernate.eclipse.libs. This last plugin contains the Hibernate 3.5 runtime as well as some other related libraries and it effectively hides the Hibernate runtime classes that are contributed by the different org.jboss.tools.hibernateX_Y plugins.

The correct solution for this problem was, as is fairly classical in software engineering, to introduce an additional layer of indirection.


As you can see above a new org.jboss.tools.hibernate.runtime.spi plugin was created. In the Hibernate tools Eclipse plugins only classes and interfaces from this SPI plugin are used while all the immediate uses on core Hibernate classes were removed. A number of runtime provider plugins then implement these SPI interfaces and contribute their functionality by means of the Eclipse extension point mechanism. Also the org.hibernate.eclipse.libs plugin was removed.

As an additional step and to eliminate a lot of duplicated code in the different runtime plugins, we moved to a situation in which a lot of the code was moved to an abstract implementation of the Hibernate runtime providers. All the concrete uses of the actual Hibernate classes remained in the Hibernate runtime provider classes.


How Does All of This Affect Me, Avid Hibernate Tools User?

The most important change that can possibly effect you is the removal of the org.hibernate.eclipse.libs plugin. Not only did this plugin contain the classes of the core Hibernate 3.5 runtime but it also included some Hibernate related classes that are considered optional. Among these where cache implementations such as Ehcache and connection pool implementations such as C3P0. As caching and connection pooling are not really relevant for the tooling and as there are way too many possible options for them to be all included in all of the Hibernate runtime providers, we decided to not include them anymore.

So if you include classes from these optional bundles in your Hibernate configuration file, you will probably bump against problems like this issue.

Assume like in this case that you want to use second level cache and use the Ehcache implementation. So you have written a Hibernate configuration file in which you have defined the session factory like as follows:

        <property name="hibernate.connection.driver_class">org.h2.Driver</property>
        <property name="hibernate.connection.url">jdbc:h2:test</property>
        <property name="hibernate.dialect">org.hibernate.dialect.H2Dialect</property>

        <property name="hibernate.cache.use_second_level_cache">true</property>
        <property name="hibernate.cache.use_query_cache">true</property>
        <property name="hibernate.cache.region.factory_class">

        <mapping class="..."/>

When you create a Hibernate console configuration in Eclipse using this definition, and you will try to expand it, this will result in an error like shown below. Evidently, because the org.hibernate.eclipse.libs plugin containing the org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory class was removed, a ClassNotFoundException will be the cause of this SessionFactory error.


This problem can be solved in two possible ways. The first way is to add the jar files containing the missing classes to the project class path. As can be seen on the image below, the console configuration can now be expanded without an error.


One can argue that it is not a very clean solution to pollute the project class path with artifacts that are not really needed just to make the tooling run properly. This is a valid point and it is the reason why we have a second solution that is probably preferable.

In this case you can just edit the console configuration by using 'Edit Configuration' from the context menu. In the opened dialog, you can switch to the Classpath page and add the missing jar files. The image below illustrates this approach.



Because of the architectural changes that we implemented for the Eclipse Hibernate tooling, real support for multiple versions of Hibernate is now available and working properly.

The removal of the org.hibernate.eclipse.libs plugin introduced the possibility of missing some classes when working with the Hibernate console configuration in Eclipse. As we showed, this can be easily fixed by directly adding the libraries containing the missing classes on the class path of the console configuration.

Thanks for reading!
Koen Aers

JBoss Tools 4.3 and Red Hat JBoss Developer Studio 9 for Eclipse Mars are now generally available!

Java 8 is required for installing and using JBoss Tools. We still support developing and running applications using older Java runtimes. See more in Beta1 blog.


JBoss Developer Studio comes with everything pre-bundled in its installer. Simply download it from our JBoss Products page and run it like this:

java -jar jboss-devstudio-<installername>.jar

JBoss Tools or Bring-Your-Own-Eclipse (BYOE) JBoss Developer Studio require a bit more:

This release requires at least Eclipse 4.5 (Mars) but we recommend using the latest Eclipse 4.5.1 Mars JEE Bundle since then you get most of the dependencies preinstalled.

Once you have installed Eclipse, you can either find us on the Eclipse Marketplace under "JBoss Tools" or "Red Hat JBoss Developer Studio".

For JBoss Tools, you can also use our update site directly.


What is new ?

There are many new features and improvements. The full list of what is new you can find on this page. Hundreds of bugs have been fixed on JBoss Tools side but we also continue to work on making Eclipse better and contribute to many Eclipse projects: Web Tools, Docker, Maven Integration, JavaScript, Hybrid Mobile Tools and many others.

Let me highlight just a few major features in JBoss Tools 4.3 and JBoss Developer Studio 9.

OpenShift 3

There is a new tooling available to help you with OpenShift 3 application development.

new connection wizard

OpenShift 3 tooling is provided as a TechPreview feature, available from the JBoss Central Software/Updates page. We are working on improving OpenShift 3 tooling and it will be included in JBoss Developer Studio by default as a Supported feature in the upcoming months.


Tooling for Docker is available in Eclipse Mars under the Linux tools umbrella. Despite this name, this works on all major developer platforms. It is mirrored on JBoss Tools update site and is also included in Developer Studio 9.

docker explorer view


Java EE 7 Batch Tools include an advanced Job XML editor, wizards, validation, navigation, and other features.


Where is integration stack tooling?

The integration stack covers the tooling for Fuse, Drools, jBPM, SwitchYard, JBoss ESB etc.

They are available as "Early access" in JBoss Tools under JBoss Central Software/Update page.

In the near future it is planned to also show up in JBoss Developer Studio and eventually be available as fully supported.

What is Next

Having JBoss Tools 4.3 and JBoss Developer Studio 9 out we are already working on the next maintenance release for Eclipse Mars. We are also working on Eclipse Neon adoption.


Alexey Kazakov

We are happy to announce JBoss Tools 4.3 CR1 and Red Hat JBoss Developer Studio 9 CR1 for Eclipse Mars are now available.

Note: Integration Stack tooling will become available from JBoss Central at a later date.

jbosstools jbdevstudio blog header
Remember that since Beta1 we require Java 8 for installing and using of JBoss Tools. We still support developing and running applications using older Java runtimes. See more in Beta1 blog.

What is new ?

The full details of what is new is available on this page. Some highlights are below.

WildFly 10 and EAP 7 Server Adapters

New server adapters for JBoss EAP 7 and WildFly 10 have been added to the toolset, allowing you to enjoy all the past benefits, but with all the newest runtimes.


Quick Access to Launch LiveReload

Users can now launch LiveReload from the 'Quick Access' menu, or using the Ctrl+3 (or Cmd+3) keyboard shortcut.

This will first display the dialog to create and start a LiveReload server. Then, this will open the current element (a selected file in the Project Explorer, a selected module in the Servers view or the content of the active editor) in the browser, without even having to use the 'Open With>Web Browser via LiveReload Server' contextual menu.

livereload quick access

OpenShift 3

We have made great progress in the OpenShift 3 Eclipse Tooling, but a few features are still missing, like deploying an existing workspace project, or editing existing build configurations. We have some ideas to provide an even better OpenShift Explorer user experience.

OpenShift 3 tooling is provided as a TechPreview feature, available from the JBoss Central Software/Updates page. Once we are fully satisfied with the quality of its feature set, OpenShift 3 tooling will mature to a Supported feature in the upcoming months, and will then be installed by default in JBDS.

But despite the fact that OpenShift 3 is still in TechPreview status in this release there are many improvements. Such as enhancements in the Application wizard or a link to the online documentation from the connection wizard for OpenShift 3. Hopefully that should help you get started with OpenShift 3 in Eclipse:


Improvements in OpenShift Explorer:


Easy setup for 'oc' binary and log streaming:


Integration with Docker tooling:


And other features + almost a hundred fixed bugs.

Java EE Batch Tooling

Quick Fixes for validation problems in Batch Job XML source editor.


The Quick Fixes open a pre-set New Batch Artifact wizard to create the missing artifact.

New Maven Red Hat GA repository

In the Maven Repository Configuration wizard, accessible from Preferences > JBoss Tools > JBoss Maven Integration > Configure Maven Repositories…​, the predefined Red Hat TechPreview All Maven repository has been replaced with the new, official Red Hat GA (GA: General Availability) repository, for released Red Hat JBoss Middleware artifacts.

It is recommended you replace the old TechPreview All repository with the new GA one, in your Maven settings.xml.

Offline Support for Project Examples in JBoss Central

In the updated JBoss Central page, you now have access to more than 200 project examples. All these examples and their dependencies can now be cached locally via the Groovy Offline script, available from Preferences > JBoss Tools > Project Examples > Offline Support.

Eclipse Mars.1 with better Docker tooling

This version of JBoss Tools targets Eclipse Mars.1 which besides many bug fixes has some noteworthy improvements such as a better Docker tooling. We worked on the Docker tooling to make it rock in JBoss Tools with OpenShift support - so we wanted to highlight these improvements.

Running/paused/stopped Docker containers

New icon decorators in Docker Explorer View show the state of the docker containers. This makes it clearer if a container is running, paused or stopped.


New Dialog to Search and Pull Images

There is an updated Pull Image wizard which can be launched from the Docker Images view or from the Docker Explorer view (a new context menu entry is available on the connection node and on the Images node):


The wizard detects the tag in the image name and if none is specified, the image tagged latest will be pulled. If the user needs to search a specific image name, he or she can click on the Search…​ button which will open the Search wizard:


followed by a second page that displays all the tags for the selected image.

New Launcher to Build a Docker Image

We have also added a new launcher to build images from a Dockerfile.


You can find more details about this and other new stuff in Docker tooling here.

What is Next

With CR1 out we are heading towards a final release.

Have fun!

Alexey Kazakov

Today a new beta is available from our download and update sites!

jbosstools bower
Remember that since Beta1 we require Java 8 for installing and using of JBoss Tools. We still support developing and running applications using older Java runtimes. See more in Beta1 blog.


JBoss Developer Studio comes with everything pre-bundled in its installer. Simply download it from our JBoss Products page and run it like this:

java -jar jboss-devstudio-<installername>.jar

JBoss Tools or Bring-Your-Own-Eclipse (BYOE) JBoss Developer Studio require a bit more:

This release requires at least Eclipse 4.5 (Mars) but we recommend using the Eclipse 4.5 Mars JEE Bundle since then you get most of the dependencies preinstalled.

Once you have installed Eclipse, you can either find us on the Eclipse Marketplace under "JBoss Tools" or "JBoss Developer Studio".

We are now using Eclipse Marketplace feature of having just one market place entry for all old versions.

For JBoss Tools, you can also use our update site directly if you are up for it.


Note: Integration Stack tooling will become available from JBoss Central at a later date.

What is new ?

Full info is at this page. Some highlights are below.


We’ve added support for easy setup and invocation of Bower using your locally installed bower command line tool on Windows, OS X and Linux.

We provide a Bower Init wizard for getting started.


Once your project has a bower.json file you can now easily run bower update by right-clicking on the file and selecting Run ▸ As…​ ▸ Bower Update.

We are working on contributing this and additional Javascript integration to Eclipse JSDT. We will keep you posted!

OpenShift v3

We continue to work on improving OpenShift v3 tooling and this release has a few new features and important bug fixes but overall OpenShift v3 tooling is still in very early stages.

Manage your OpenShift v3 Projects

You can now create and delete OpenShift v3 projects.



If you try to create a new application, but you have no project yet, the tools will prompt you to create one first. Once you are done you can always get back and manage your OpenShift projects via a link in the application wizard.

Manually Trigger Builds

You can manually trigger builds when selecting your Build Configs in the OpenShift Explorer.


Once you triggered you should see a new build appear in the Builds category in the OpenShift Explorer. You can see its state next to its name or in the Properties view. Refreshing the Explorer will show you when the build completes.

Port Forwarding

Assuming that your application exposes ports you can now forward those to your local machine with JBoss Tools 4.3.0.Beta2.


More details of new OpenShift v3 features are at Whats New.

Java EE Batch Tooling

The batch tooling now has hyperlink support for @BatchProperty to navigate between classes and their relevant job .xml files.


There are more news at Whats New.

Exploded nested jars

In WildFly 8.2 there is now support for hotloading resources from exploded jars inside deployments, i.e. a jar inside your WEB-INF/libs.

This allows you to have faster reload times for module web applications using resources from nested jars.

Thanks to patch from Vsevolod Golovanov we now support this when you are using our server tools. Thanks Vsevolod!

Deploy Hybrid project to FeedHenry

You can now take a hybrid mobile project created with Thym and deploy it to a FeedHenry cloud.



Alexey Kazakov

In this article I’m happy to introduce brand new JBoss Bower Tools:

Bower JBoss Tools

Bower is a front-end package manager which works by fetching and installing frameworks, libraries, assets. It offers a generic, unopinionated solution to the problem of front-end package management, while exposing the package dependency model via an API that can be consumed by a more opinionated build stack. Bower provides declarative dependency management (dependencies are declared and tracked in a manifest file, bower.json).


JBoss Bower Tools fall back on native Node.js and Bower calls. Hence, the following software must be pre-installed:

  • Node.js

  • npm

  • Bower

Installation instructions for Node.js and npm can be found here. Bower is a command line utility which is installed via npm command npm install -g bower

Quick Start Guide

For now only init and update commands of Bower API are supported. In order to initialize Bower one need to select File → New…​ → Other…​ and choose "Bower Init" wizard:

Bower Init wizard

This wizard helps to create bower.json file depending on set of preferences:

Bower Init wizard page

After pressing "Finish" button bower.json will be created under specified directory:

Default bower.json

In order to add new dependencies one need to specify them in bower.json:

Bower dependencies

For updating dependencies user should right-click on the bower.jsonRun As…​Bower Update

In most cases Bower and Node.js will be detected in the system automatically. However, if the detection failed warn dialog will be shown for specifying location in preferences:
Bower preferences

"Bower Update" launch shortcut makes a native call which will install required packages or update them to the newest version according to bower.json:

Bower Update launch

Specified packages will be created under bower_components folder after "Bower Update" execution:

Bower components

Basically, that is all - one can now use those packages for future front-end development.


Here is a short demo video which describes a basic use case of JBoss Bower Tools:

How to give it a go ?

Bower support will be available in 4.3.0.Beta2 release and above. You can also use our nightly update site in order to try Bower Tools (JBoss Tools JavaScript Tools category) before the official release:

Bower dependencies


We are trying our best to make our tools as good as possible. User feedback is what we are seeking for now. We look forward to hearing your comments, remarks and proposals.
Have fun!

Ilya Buziuk

The JavaEE part of the Tools now contains support for JSR-352 batch files. I’d like to show you the main features of the new visual editor available in JBoss Tools 4.3 and Developer Studio 9.

It extends the tree-form editor previously developed by the JBoss Tools team. There are now 3 ways to edit the batch XML files, represented by the 3 editor tabs:

  • Source (XML text editor)

  • Design (tree-form editor)

  • Diagram (visual editor)

Visual Editor for JEE Batch

Focus on Structure

The goal of the Diagram tab is to visualize the flowchart-like structure of batch jobs. Don’t bother editing the XML by hand and tracking down paths in your batch’s workflow. Instead, you can manipulate batch elements directly with your mouse.

Just select the proper objects from the palette, place them in the diagram and draw transitions among them. The editor visualizes all step, flow, split and decision elements, transitions using next attribute and next on elements and also terminating elements (fail, stop, end). If you need to edit elements nested inside a flow, just double-click its icon to switch the contents of the editor to the flow internals.

You also don’t need to reorder XML elements to set an element as a start. Just use Set as Start action.

Properties View

The diagram is useful for displaying structures but sometimes we would like to different things like to assign a Java bean to a batchlet. That’s when the Properties View comes in handy. Its content is changed according the current selection in the diagram and it serves for filling in various form data.

Properties View

Tip: Use Ctrl+Space to get content proposal.

Edit Anywhere

The diagram editor is integrated with the tree-form editor and the XML text editor in the way that all changes are propagated immediately between these three views. Use any of the editor tabs and you’ll see the changes reflected in the other tabs.

Content Assist

The editor is aware of the batch nature of your project and provides content proposal. It helps to fill in names batch artifacts such as jobs or flows, specific Java classes (your subclasses of ItemReader ItemWriter etc.) or exception classes. You may refer to your beans also by their name defined by the @Named annotation.

Get It Now

Just download the latest 9 release of JBoss Developer Studio or 4.3 version of JBoss Tools to get started. To quickly create a new file, try e.g. the wizard for creating batch files by selecting File ▸ New ▸ Other ▸ Batch ▸ Batch Job XML File.

Enjoy using the editor and give us some feedback!

Tomáš Milata

JBoss Fuse Tooling plus an updated Teiid Designer and Early Access versions of the Fuse SAP Tool Suite, Fuse Data Transformation tooling and SwitchYard (Luna/JBoss Developer Studio 8).

jbosstools jbdevstudio blog header
JBoss Tools Integration Stack 4.2.2.Final / JBoss Developer Studio Integration Stack 8.0.2.GA

What’s an Integration Stack?

The Integration Stack for JBoss Tools Developer Studio is a set of plugins for Eclipse that provides integration tooling for the following frameworks.

JBoss Fuse Development

  • Fuse Tooling - Tools related to integrating and developing software components that work with Apache ServiceMix, ActiveMQ and Camel - support for Fuse.

The Fuse Development tooling category has both released and early access components. Consequently, you will see it in both the release installation dialog and the early access installation dialog.

JBoss Business Process and Rules Development

  • BPEL Designer - Orchestrating your business processes.

  • BPMN2 Modeler - A graphical modeling tool which allows creation and editing of Business Process Modeling Notation diagrams using graphiti.

  • Drools - A Business Logic integration Platform which provides a unified and integrated platform for Rules, Workflow and Event Processing.

  • jBPM - A flexible Business Process Management (BPM) suite.

JBoss Data Virtualization Development

  • Modeshape - A distributed, hierarchical, transactional and consistent data store with support for queries, full-text search, events, versioning, references, and flexible and dynamic schemas. It is very fast, highly available, extremely scalable, and it is 100% open source.

  • Teiid Designer - A visual tool that enables rapid, model-driven definition, integration, management and testing of data services without programming using the Teiid runtime framework.

JBoss Integration and SOA Development

  • All of the Business Process and Rules Development plugins, plus…​

  • Fuse Apache Camel Tooling - A graphical tool for integrating software components that works with Apache ServiceMix, Apache ActiveMQ, Apache Camel and the FuseSource distributions.

  • SwitchYard - A lightweight service delivery framework providing full lifecycle support for developing, deploying, and managing service-oriented applications.

The SOA Development tooling category has both released and early access components. Consequently, you will see it in both the release install dialog and the early access install dialog.

SOA 5.x Development

  • JBoss ESB - An enterprise service bus for connecting enterprise applications and services.

  • jBPM3 - A flexible Business Process Management (BPM) Suite - JBoss Enterprise SOA Platform 5.3.x compatible version.

All of these components have been verified to work with the same dependencies as JBoss Tools 4.2 and Developer Studio 8.

What’s Been Updated?

Updates have been made to the Business Process tooling, Fuse Tooling, Data Virtualization and SwitchYard. See the Integration Stack 8.0.2 Release Notes

Released Tooling Highlights

JBoss Fuse Development Highlights

  • New projects can now be given an arbitrary name. Previously, artifactId was used as the project name without the possibility to alter it.

  • JMX Navigator has been moved to JBoss Core and reworked. It now contains 3 categories: Local Processes, Server Connections, and User-Defined Connections.

  • Camel Debugger has been added. It allows to set, edit and remove breakpoints in the Design view. Camel 2.12 or higher is required for this functionality.

  • The Servers view now provides access to JMX when the server is running. Fuse-specific nodes are now also visible in the Servers view.

  • New and reworked server adapters have been added for Apache Karaf, Apache ServiceMix, and JBoss Fuse.

  • The previous deployment mechanism using hotfolder, JMX node and fabric8 nodes has been replaced by a publishing logic in the Servers view.

  • Project running on a server are now automatically redeployed when changed locally.

  • The Servers view now shows deployed projects and their bundle state.

  • The deploy, redeploy and undeploy operations are now all done in the Servers view.

  • Server credentials are now stored in the Eclipse secure storage.

  • A new editor palette drawer has been added for the most frequently used Camel components.

  • New custom component properties pages have been added.

  • Fabric8 tooling is now DEPRECATED and will be removed with the release of Fuse Tooling 8.0.0 (released in sync with JBoss Fuse 7.0.0).

BPMN2 Modeler Highlights

Teiid Designer Highlights

Early Access/ Technical Preview Tooling Highlights

Fuse Tooling Highlights

  • The new SAP Tool Suite enables integration of Camel routes with a remote SAP application server. The suite consists of ten components that support Remote Function Calls (RFC) and transmission of Intermediate Documents (IDocs).

  • The new Data Transformation tooling provides a GUI to assist users in implementing data translations as part of Camel routes.

Also see Lars Heinemann’s Blog for more Fuse Tooling insights.

SwitchYard Highlights

The JBoss Tools website features tab

Don’t miss the Features tab for up to date information on your favorite Integration Stack components.


The easiest way to install the Integratin Stack components is to install JBoss Developer Studio Integration Stack from the Eclipse Marketplace via Help > Eclipse Marketplace…​

Eclipse Marketplace - JBoss Developer Studio Integration Stack

For a complete set of Integration Stack installation instructions, see Integration Stack Installation Instructions

More to come…​

Paul Leacu.

I’m happy to announce that from today JBoss Tools 4.3 Beta1 and Developer Studio 9 Beta1 is available for download.

jbosstools jbdevstudio blog header

Java 8 to run Eclipse; older runtimes OK for builds/deployment

To use this Beta, you must run Eclipse with Java 8.

You can still target development for old Java versions though. Yes, you can still target your Java 1.4 projects :)

We are doing this because certain components of Eclipse Mars now require Java 8 (especially Sapphire) and according to our usage stats, Java 8 will have gained majority this year.

But we have not made JBoss Tools dependent on Java 8 yet, since we want to get feedback from users on whether requiring Java 8 will be a problem.

Let us know on our forum, or contact Red Hat support if this will be a problem for you to use it.


JBoss Developer Studio comes with everything pre-bundled in its installer. Simply download it from our JBoss Products page and run it like this:

java -jar jboss-devstudio-<installername>.jar

JBoss Tools or Bring-Your-Own-Eclipse (BYOE) JBoss Developer Studio require a bit more:

This release requires at least Eclipse 4.5 (Mars) but we recommend using the Eclipse 4.5 JEE Bundle since then you get most of the dependencies preinstalled. In case that page it not available check main eclipse download for the Mars release.

Once you have installed Eclipse, you can either find us on the Eclipse Marketplace under "JBoss Tools (Mars)" or "JBoss Developer Studio (Mars)".

For JBoss Tools, you can also use our update site directly if you are up for it.


Note: Integration Stack tooling will become available from JBoss Central at a later date.

What is new ?

The full details of what is new is available on this page. Some highlights below.

New Shiny Central

JBoss Central has now been updated to be faster to load, less overloaded and give access to any project example from developer.jboss.org.

html5 central

Docker tooling

There is now tooling to connect to (multiple) Docker daemons which allows you to pull, build, start, stop, etc. Images and Containers.

docker explorer view

The Docker tooling is technically part of Eclipse Mars, but we wanted to make it easily available to all JBoss Tools users, so we included it into our updatesite. In future releases, we will add some specific JBoss Tools integrations for our server adapters and OpenShift - but for now, what is included are the vanilla Eclipse Mars Docker tools.

Visual Java EE 7 Batch

We’ve added a visual diagram editor for Java EE 7 Batch tooling. Allowing you to visualize and edit your batch flow:


Big thanks to Tomáš Milata who worked on this for his thesis and contributed the foundation for this functionality!

Below is a video of the highlights of the feature set:

OpenShift 3

OpenShift 3 now works with OAuth logins as well as basic authentication and there is now support for creating applications from OpenShift/Kubernetes templates.

create from template

Port Monitoring

JBoss server adapters now support port monitoring, allowing you to trace and inspect requests made to a server.

20150521 monitoring view

Experimental LaunchBar

The Eclipse CDT project created a new feature called the LaunchBar, allowing to easily run launch configurations. We’ve added experimental support for WTP server adapters (like JBoss server adapters) making them as easy to run as a Java app. Details here.

20150604 launchbar

Next steps

Let us know what you like/hate about the release and if you find issues, please open a ticket at our issue tracker.

Going from Beta1 to Beta2, we are focusing on reported issues and going for improving Docker, OpenShift, JavaScript and JavaEE related features.

Hope you enjoy it and remember…​

Have fun!

Max Rydahl Andersen

We’ve been working hard on improving our tooling story for Fuse for a few months. One of the areas we’ve been focusing on specifically has been Transformation tooling. It’s been missing in the JBoss Tools suite for a while now and something we needed to address.

As a result, we ended up with the Fuse Transformation tooling, which I’ll be talking about over the course of a few blog posts.

First, What Exactly Is the Fuse Transformation Tooling?

The last transformation tooling we had in JBoss Tools leveraged Smooks to convert one format to another. This time we’re using the Dozer framework, which offers a great base for handling Java to Java transformations. Through various APIs, you can convert just about anything to a Java model these days and that gives us a good place to start.

With the addition of Fuse technologies (and some awesome developers), we gained some cool new toys in the tooling and a big part of that is the Camel Editor (i.e. the "Fuse Tooling Routes Editor"). The Fuse Transformation tooling builds on that and offers:

  1. the Fuse Transformation Editor, which offers visual editing of a Dozer configuration file

  2. the New Fuse Transformation wizard, which creates a new Transformation file and integrates it as an endpoint in a Camel configuration

  3. and the New Fuse Transformation Test wizard, which creates the outline for a new JUnit test you can run to test your transformation

Though we’re in Tech Preview for now, we have good collection of functionality already and we’ll walk through some of that.

Where Can We Get These Toys?

The new tooling appears in the JBoss Tools Integration Stack "Early Access" site, so be sure to keep up with that effort. (You can see Paul’s latest post here: "JBoss Tools Integration Stack - Luna integration tooling for BRMS/BPMS, Data Virt, SOA 5.x + Early Access Fuse and SwitchYard."

Keep up to date with JBoss Tools Integration Stack to ensure you have the latest version of the Transformation tooling.

Let’s Start With a Use Case - XML to JSON

I’m going to cheat a little and start with the Starter project that we have created for the Transformation project. It includes some sample data to demonstrate transforming from XML to JSON. It includes a sample Camel configuration as well (in either Spring or Blueprint form) that provides a route that takes a file and routes it to another. In this case, we’re going from a sales order in XML format (abc-order.xml) to a sales order in JSON format (xyz-order-schema.json). This is a common integration case where you have to migrate one format to another.

But Wait! Didn’t You Say Dozer Is Strictly Java-to-Java?

Why yes, I did! But I also said that we have ways to create Java models from other formats. And in this first wave of Transformation functionality we offer built-in conversion from XML (XML schemas or instance documents) and JSON (JSON schemas or instance documents) to help get you that far. plus some other, more open-ended capabilities we’ll talk about down the line, we will walk through each step of getting you from your sample data to a fully testable solution.

So let’s get started…​

Launching the Wizard

There are three main ways to launch the New Transformation Wizard in Eclipse…​

  1. From the top-level menu in the Eclipse workbench, use File→New→Other…​ (or Ctrl+N), then look for Fuse Tooling→Fuse Transformation

  2. Right-click on a project in the Project Explorer, select New→Other…​ then look for Fuse Tooling→Fuse Transformation

  3. Open a Camel file (Spring or Blueprint) and drag the Transformation→Data Transformation item from the palette onto the canvas (see below)


New Fuse Transformation Wizard, Start Page

Once you’ve launched the New Fuse Transformation Wizard, you are presented with a wizard page that looks something like the following.

  1. To start, depending on how you’ve launched the wizard, you may have to select the Project explicitly. The drop-down list is populated by a list of all projects that include Camel configurations (either Spring or Blueprint).

  2. The Transformation ID becomes the explicit name of the Dozer endpoint that gets created in the Camel route. We then can reference that endpoint in the route itself. Since we’re transforming an XML file into a JSON file, we’ll call ours "xml2json".

  3. The Dozer File Path calls out the location and name of the Dozer configuration file. It is pre-populated with the name "transformation.xml" and will place the file in the src/main/resource folder of your project, but you can name it whatever you’d like and provide a project-relative path so long as the path can be found in the project classpath. We’ll leave it at the default for now.

  4. The Camel File Path points to the Camel configuration file you are adding this transformation to. In the case below, we have selected the Spring Camel configuration in the starter project.


New Fuse Transformation Wizard, Selecting Types to Transform

Currently with the wizard we have the ability to transform to and from one of four different types:

  • Java (Existing Java model)

  • XML (XML Schema or Instance Document)

  • JSON (JSON Schema or Instance Document)

  • Other (Special case we’ll cover in another post)

Today we’re focused on converting from XML to JSON, so we’ll select those two types and click Next.


New Fuse Transformation Wizard, Source XML Details

Since we selected XML as the Source Type on the Start page, we’ll see the "Source Type (XML)" page appear next. If we had selected another type, we’d see that page here.

In this case, we have an XML Schema document (abc-order.xml) that we want to transform from. So we’ll click on the Source File field’s "…​" button to browse for our file, select abc-order.xml, and click Next to continue. If you have a particularly complex schema, you may need to select from the root elements you wish to key on for the transformation.


New Fuse Transformation Wizard, Target JSON Details

Since we selected JSON as the Target Type on the Start page, we’ll see the "Target Type (JSON)" page appear next. If we had selected another type, we’d see that page here.

In this case, we have an JSON Schema document (xyz-order-schema.json) that we want to transform to. So we’ll click on the Target File field’s "…​" button to browse for our file, select xyz-order-schema.json, and click Finish to continue.


Finishing Up…​

As soon as the wizard is done, you’ll notice two things.

  1. The Fuse Transformation Editor opens so you can edit your new Dozer configuration file.

  2. The Camel Editor has been updated with the new Transformation endpoint you just created. (Notice the "dirty" flag on the "camel-context.xml" tab.)

For now, we’ll close our new Transformation and go back to the Camel route to finish hooking up the new endpoint.


Going back to the Camel editor

When we select the Camel editor again, we notice that a new endpoint reference has been added to the canvas. We need to now hook that into our route so it happens between our source and target steps of this simple configuration.

The first thing we need to do is delete the existing link between the "src" and "target" elements of the route. You can click on it and hit the Delete key on your keyboard or right-click on the arrow and select "Remove." When it asks if you want to remove the element, click Yes.


Wiring up our New Endpoint

Now we can wire up the endpoint.

  1. If you hover the mouse over the "src" file element, you’ll see a toolbar pop up. Click and drag the Arrow to our new endpoint.

  2. Do the same thing from the endpoint to the "target" element.

  3. Next, save the Camel editor and it will refresh the view to clean up your route a little.


End for today…​

So now we have a new Transformation endpoint that is wired into our Camel route.

Next time we’ll start doing the actual editing of the Transformation itself!


Thanks for reading!
Brian "Fitz" Fitzpatrick

You may have noticed over the years, that your server view’s context menu has an option labeled "Port Monitoring". You may have also noticed that when using JBoss servers, nothing was ever available there. Recent commits have finally remedied this decade-long omission of a useful feature.

TCP/IP Monitor

The WTP platform includes a TCP/IP monitor as a standalone entity. You can use it manually, which I’ll explain now, but the real magic happens when integrated with our server adapters.

There are two primary pieces to the TCP/IP Monitor. First, there’s a preference page, where you can add port mappings and enable or disable monitoring on that port. Secondly, there’s a TCP/IP Monitor view.

The Preference Page

To see the preference page for port monitoring, you’ll want to go to Window ▸ Preferences ▸ Run/Debug ▸ TCP/IP Monitor. You’ll see the page depicted below.

20150521 monitoring pref page

The general concept of the tool is that, in order to monitor a given port (for example localhost:8080), you "Add…​" a monitor that listens on some new port (7460) and redirects all traffic to the target destination (localhost:8080). Once this is enabled, only requests to your "Local Port", in this case 7460, can be monitored. Traffic that goes directly to 8080 is bypassing the monitor entirely.

If you click "Add…​", you’ll see a few fields to fill out. The "Local Monitoring Port" is the new port that will position itself between origin and destination. Below that, the "Host name" and "Port" represent your actual intended destination. Traffic can be either declared as HTTP or TCP/IP in nature, and you can set a timeout.

Once you’ve added a monitor, you can click on it in the preference page and select "Start", to activate the monitoring on that port.

The View

Once monitoring of traffic has been enabled, you can go ahead and open the view. Window → Show View → Other → TCP/IP Monitor. If you had a wildfly started (either externally or using the server adapters), you could go to http://localhost:7460/ in the browser. The TCP/IP monitoring will be updated with requests and traffic information as shown below.

20150521 monitoring view

Clicking on each individual request will show you both the request on the left side, and the response on the right. It will preview images that were requested, or simply display the contents of any text requests and responses. Headers are also shown for both the request and the response.

Integration with the Servers View

While everything seems to work nicely in the above simple example, tools need to make sure that they make requests to the new Local Port rather than the actual destination. Our recent commits focussed on this deficiency.

To see this in action with the Servers View, you’ll want to open your Servers View. You hopefully already have a WildFly instance installed there, which you can go ahead and start now. When you right-click on your Server Adapter, you’ll see a "Monitoring" menu item. We currently have support for monitoring requests on two ports: the HTTP port (8080, typically) and the management port (9990).

20150521 monitoring server

After that, you can create a web project with a servlet or a simple html file and deploy it to the server. If you then right-click on your resource and select Run As → Run On Server, you should see the browser open up to the URL http://localhost:7460/YourProject/index.html (or similar URL). In this way, the tools have made sure to make all requests to the Local Port when port monitoring is enabled, but to make all requests to the actual destination port when monitoring is disabled.

When your server is in a management-enabled profile, requests made to the WildFly Management port will also show up in the TCP/IP monitor for inspection.


So there we have it: A long-standing omission has finally been put in place. What’s more, other server adapters don’t integrate with this feature as completely as we do. If you were to run the same experiment on the Tomcat adapter, and execute the "Run As → Run on Server" action for a web project’s servlet or html file, the browser will still open up on port 8080, rather than the Local Port which can be used for monitoring. When targeting JBoss and WildFly servers, though, these actions behave as a user would expect and hope.

So get in there and monitor some traffic! Grab a nightly build from our downloads section, or just use our nightly update site directly:


Rob Stryker

JBoss Tools 4.12.0.AM1 for Eclipse 2019-06

by Jeff Maury on Jun 12, 2019.

Integration Tooling for Eclipse 2019-03

by Paul Leacu on May 30, 2019.


by Jeff Maury on May 13, 2019.

Looking for older posts ? See the Archived entries.
back to top