Announcing Developer Studio 11.2.0.GA and JBoss Tools 4.5.2.Final for Eclipse Oxygen.2
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.7 (Oxygen) but we recommend using the latest Eclipse 4.7.2 Oxygen 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?
Our main focus for this release was on adoption of Java9, improvements for container based development and bug fixing. Eclipse Oxygen itself has a lot of new cool stuff but let me highlight just a few updates in both Eclipse Oxygen and JBoss Tools plugins that I think are worth mentioning.
Spring Boot applications support in OpenShift server adapter
The OpenShift server adapter allowed hotdeploy and debugging for JEE and NodeJS based applications. It now supports Spring Boot applications with some limitations: the Spring Boot devtools module must be added to your application as it monitors code changes and as the application must be launched in exploded mode, you must use the upstream image (docker.io/fabric8/s2i-java) rather than the downstream image builder fis-java-openshift.
As an example, we’ve provided an OpenShift template that will create an OpenShift application based on the upstream application and a Git repository that added the Spring Boot devtools to the Fabric8 Spring Boot quickstart.
You can see a demo of the OpenShift server adapter for Spring Boot application here:
Support for route timeouts and liveness probe for OpenShift Server Adapter debugging configurations
While debugging your OpenShift deployment, you may face two different issues:
- if you launch your test through a Web browser, then it’s likely that you will access your OpenShift deployment through an OpenShift route. The problem is that, by default, OpenShift routes have a 30 seconds timeout for each request. So if you’re stepping through one of your breakpoints, you will get a timeout error message in the browser window even if you can still debug your OpenShift deployment. And you’re now stuck will the navigation of your OpenShift application.
- if your OpenShift deployment has a liveness probe configured, depending on your virtual machine capabilities or how your debugger is configured, if your stepping into one of your breakpoints, the liveness probe may fail thus OpenShift so OpenShift will restart your container and your debugging session will be destroyed.
debugmode, the following action are being performed:
- if an OpenShift route is found that is linked to the OpenShift deployment you want to debug, the route timeout will be set or increased to 1 hour. The original or default value will be restored when the OpenShift server adapter will be restarted in
- if your OpenShift deployment has a liveness probe configured, the
initialDelayfield will be increased to 1 hour if the defined value for this field is lower than 1 hour. If the value of this field is defined to a value greater than 1 hour, it is left intact. The original value will be restored when the OpenShift server adapter will be restarted in
Enhanced command to delete resource(s)
When it comes to delete OpenShift resources, you had two different choices:
- individually delete each resource but as some resources are hidden by the OpenShift explorer, it may become troublesome
- delete the containing OpenShift project but you are then deleting more resources than required
There is now a new enhanced command to delete resources. It is available at the OpenShift project level and it will first list all the available OpenShift resources for the selected OpenShift project. You can now select the ones you want to delete and you can also filter the list using a filter that will be applied to the labels for each retrieved OpenShift resource.
So if you have two different deployments in a single OpenShift project (if you using OpenShift Online Starter for example) or if you have different kind of resources in a single deployment, you can now distinct them.
Let’s see this in action:
In this example, I have deployed an EAP6.4 based application and an EAP7.0 based one. Here is what you can see from the OpenShift explorer:
Now, let’s invoke the new delete command on the eap OpenShift project: right click the OpenShift project and select Delete Resources…:
Let suppose that we want to delete the EAP6.4 deployment. Enter eap=6.4 in the filter field:
Push the Select All button:
Close this dialog by pushing the OK button. The resources will be deleted and the OpenShift explorer will be updated accordingly:
EAP 7.1 Server Adapter
A server adapter has been added to work with EAP 7.1 and Wildfly 11. It’s based on WildFly 11. This new server adapter includes support for incremental management deployment like it’s upstream WildFly 11 counterpart.
Fuse 7 Karaf-based runtime Server adapter
Fuse 7 is cooking and preliminary versions are already available on early-access repository. Fuse Tooling is ready to leverage them so that you can try the upcoming major Fuse version.
Classical functionalities with server adapters are available: automatic redeploy, Java debug, Graphical Camel debug through created JMX connection. Please note: – you can’t retrieve the Fuse 7 Runtime yet directly from Fuse tooling, it is required to download it on your machine and point to it when creating the Server adapter. – the provided templates requires some modifications to have them working with Fuse 7, mainly adapting the bom. Please see work related to it in this JIRA task and its children.
Display routes defined inside “routeContext” in Camel Graphical Editor (Design tab)
“routeContext” tag is a special tag used in Camel to provide the ability to reuse routes and to split them across different files. This is very useful on large projects. See Camel documentation for more information. Since this version, the Design of the routes defined in “routeContext” tags are now displayed.
Usability improvement: Progress bar when “Changing the Camel version”
Since Fuse Tooling 10.1.0, it is possible to change the Camel version. In case the Camel version was not cached locally yet and for slow internet connections, this operation can take a while. There is now a progress bar to see the progress.
Support for creating Fuse Ignite Technical Extensions
We are happy to announce the addition of support for creating Technical Extension projects for Fuse Ignite*. That includes the creation of the project using the “New Fuse Ignite Extension Project” wizard as well as support for building the deployable artifact directly from inside the Eclipse environment.
Fuse Ignite is a JBoss Fuse feature that provides a web interface for integrating applications. Without writing code, a business expert can use Ignite to connect to applications and optionally operate on data between connections to different applications. In Ignite, a data operation is referred to as a step in an integration. Ignite provides steps for operations such as filtering and mapping data. To operate on data in ways that are not provided by Ignite built-in steps, you can develop an Ignite extension to define one or more custom steps. Fuse Ignite comes as part of Fuse and Fuse Online. Please refer to the online documentation for more information on how to create and configure technical extensions for Fuse Ignite.
The provided project template allows you to define an Apache Camel route as the base flow of your new technical extension.
To configure your new technical extension you can use the JSON file created with the new project.
Forge Runtime updated to 3.8.1.Final
The included Forge runtime is now 3.8.1.Final. Read the official announcement here.
You can find more noteworthy updates in on this page.
What is next?
Having JBoss Tools 4.5.2 and Developer Studio 11.2 out we are already working on the next maintenance release for Eclipse Oxygen.