A JBoss Project
Red Hat

Posts tagged with 'devstudio'

JBoss Tools 4.5.3 and Red Hat JBoss Developer Studio 11.3 for Eclipse Oxygen.3a are here waiting for you. Check it out!

devstudio11

Installation

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.3a 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.

http://download.jboss.org/jbosstools/oxygen/stable/updates/

What is new?

Our main focus for this release was on adoption of Java10, 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.

OpenShift 3

CDK and Minishift Server Adapter better developer experience

MINISHIFT_HOME setting

When working with both CDK and upstream Minishift, it is recommanded to distinguish environments through the MINISHIFT_HOME variable. It was possible before to use this parameter but it requires a two steps process:

  • first create the server adapter (through the wizard)

  • then change the MINISHIFT_HOME in the server adapter editor

It is now possible to set this parameter from the server adapter wizard. So now, everything is correctly setup when you create the server adapter.

Let’s see an example with the CDK server adapter.

From the Servers view, select the new Server menu item and enter cdk in the filter:

cdk server adapter wizard

Select Red Hat Container Development Kit 3.2+

cdk server adapter wizard1

Click the Next button:

cdk server adapter wizard2

The MINISHIFT_HOME parameter can be set here and is defaulted.

CDK and Minishift Server Adapter runtime download

When working with both CDK and upstream Minishift, you needed to have previously downloaded the CDK or Minishift binary. It is now possible to download the runtime to a specific folder when you create the server adapter.

Let’s see an example with the CDK server adapter.

From the Servers view, select the new Server menu item and enter cdk in the filter:

cdk server adapter wizard

Select Red Hat Container Development Kit 3.2+

cdk server adapter wizard1

Click the Next button:

cdk server adapter wizard3

In order to download the runtime, click the Download and install runtime…​ link:

cdk server adapter wizard4

Select the version of the runtime you want to download

cdk server adapter wizard5

Click the Next button:

cdk server adapter wizard6

You need an account to download the CDK. If you already had configured credentials, select the one you want to use. If you didn’t, click the Add button to add your credentials.

cdk server adapter wizard7

Click the Next button. Your credentials will be validated, and upon success, you must accept the license agreement:

cdk server adapter wizard8

Accept the license agreement and click the Next button:

cdk server adapter wizard9

You can choose the folder where you want the runtime to be installed. Once you’ve set it, click the Finish button:

The download of the runtime will be started and you should see the progression on the server adapter wizard:

cdk server adapter wizard10

Once the download is completed, you will notice that the Minishift Binary and Username fields have been filled:

cdk server adapter wizard11

Click the Finish button to create the server adapter.

Please note that if it’s the first time you install CDK, you must perform an initialization. In the Servers view, right click the server and select the Setup CDK menu item:

cdk server adapter wizard12
cdk server adapter wizard13

Please note that the setup-cdk command will also be automatically run when you start the CDK server adapter if the MINISHIFT_HOME environment is detected uninitialized after user approval.

Minishift Server Adapter

A new server adapter has been added to support upstream Minishift. While the server adapter itself has limited functionality, it is able to start and stop the Minishift virtual machine via its minishift binary. From the Servers view, click New and then type minishift, that will bring up a command to setup and/or launch the Minishift server adapter.

minishift server adapter

All you have to do is set the location of the minishift binary file, the type of virtualization hypervisor and an optional Minishift profile name.

minishift server adapter1

Once you’re finished, a new Minishift Server adapter will then be created and visible in the Servers view.

minishift server adapter2

Once the server is started, Docker and OpenShift connections should appear in their respective views, allowing the user to quickly create a new Openshift application and begin developing their AwesomeApp in a highly-replicatable environment.

minishift server adapter3
minishift server adapter4

The credentials framework still supports the JBoss.org credentials in case other services / components require or use this credentials domain.

Fuse Tooling

New shortcuts in Fuse Integration perspective

Shortcuts for the Java, Launch, and Debug perspectives and basic navigation operations are now provided within the Fuse Integration perspective.

The result is a set of buttons in the Toolbar:

New Toolbar action

All of the associated keyboard shortcuts are also available, such as Ctrl+Shift+T to open a Java Type.

Performance improvement: Loading Advanced tab for Camel Endpoints

The loading time of the "Advanced" tab in the Properties view for Camel Endpoints is greatly improved.

Advanced Tab in Properties view

Previously, in the case of Camel Components that have a lot of parameters, it took several seconds to load the Advanced tab. For example, for the File component, it would take ~3.5s. It now takes ~350ms. The load time has been reduced by a factor of 10. (See this interesting article on response time)

If you notice other places showing slow performance, you can file a report by using the Fuse Tooling issue tracker. The Fuse Tooling team really appreciates your help. Your feedback contributes to our development priorities and improves the Fuse Tooling user experience.

Display Fuse version corresponding to Camel version proposed

When you create a new project, you select the Camel version from a list. Now, the list of Camel versions includes the Fuse version to help you choose the version that corresponds to your production version.

Fuse Version also displayed in drop-down list close to Camel version

Update validation for similar IDs between a component and its definition

Starting with Camel 2.20, you can use similar IDs for the component name and its definition unless the specific property "registerEndpointIdsFromRoute" is provided. The validation process checks the Camel version and the value of the "registerEndpointIdsFromRoute" property.

For example:

<from id="timer" uri="timer:timerName"/>

Improved guidance in method selection for factory methods on Global Bean

When selecting factory method on a Global bean, a lot of possibilities were proposed in the user interface. The list of factory methods for a global bean is now limited to only those methods that match the constraints of the bean’s global definition type (bean or bean factory).

Customize EIP labels in the diagram

The Fuse Tooling preferences page for the Editor view includes a new "Preferred Labels" option.

Fuse Tooling editor preference page

Use this option to define the label of EIP components (except endpoints) shown in the Editor’s Design view.

Dialog for defining the display text for an EIP

Fuse Ignite Technical Extension templates

The existing template for "Custom step using a Camel Route" has been updated to work with Fuse 7 Tech Preview 4.

Two new templates have been added: - Custom step using Java Bean - Custom connector

New Fuse Ignite wizard with 3 options

Improvements of the wizard to create a Fuse Integration project

The creation wizard provides better guidance for the targeted deployment environment:

New Fuse Integration Project wizard page to select environment

More place is available to choose the templates and they are now filtered based on the targeted environment:

New Fuse Integration Project wizard page to select templates

It also points out to other places to find different examples for advanced users (see the link at the bottom of the previous screenshot).

Camel Rest DSL editor (Technical preview)

Camel is providing a Rest DSL to help the integration through Rest endpoints. Fuse Tooling is now providing a new tab in read-only mode to visualize the Rest endpoints defined.

Rest DSL editor tab in read-only mode

It is currently in Tech Preview and needs to be activated in Window → Preferences → Fuse Tooling → Editor → Enable Read Only Tech preview REST DSL tab.

Work is still ongoing and feedback is very welcome on this new feature, you can comment on this JIRA epic.

Dozer upgrade and migration

When upgrading from Camel < 2.20 to Camel > 2.20, the Dozer dependency has been upgraded to a version not backward-compatible If you open a Data transformation based on Dozer in Fuse Tooling, it will propose to migrate the file used for the transformation (technically changing the namespace). It allow to continue to use the Data Transformation editor and have - in most cases - the Data Transformation working at runtime with Camel > 2.20.

Hibernate Tools

Hibernate Runtime Provider Updates

A number of additions and updates have been performed on the available Hibernate runtime providers.

New Hibernate 5.3 Runtime Provider

With beta releases available in the Hibernate 5.3 stream, the time was right to make available a corresponding Hibernate 5.3 runtime provider. This runtime provider incorporates Hibernate Core version 5.3.0.Beta2 and Hibernate Tools version 5.3.0.Beta1.

hibernate 5 3
Figure 1. Hibernate 5.3 is available
Other Runtime Provider Updates

The Hibernate 5.0 runtime provider now incorporates Hibernate Core version 5.0.12.Final and Hibernate Tools version 5.0.6.Final.

The Hibernate 5.1 runtime provider now incorporates Hibernate Core version 5.1.12.Final and Hibernate Tools version 5.1.7.Final.

The Hibernate 5.2 runtime provider now incorporates Hibernate Core version 5.2.15.Final and Hibernate Tools version 5.2.10.Final.

Java Developement Tools (JDT)

Support for Java™ 10

The biggest part is the support for local variable type inference.

Add Java 10 JRE

Basic necessity of recognizing a Java 10 for launching

j10

And the compiler compliance option of 10

j10.compliance
JEP 286 var - compilation

Support for compilation of var as shown below

var.compile

Flagging of the compiler errors as expected, shown below

var.nocompile

Completion at places var is allowed

var.complete

Completion not offered at places var is not allowed

var.nocomplete

Hover to reveal the javadoc

var.hover

Convert from var to the appropriate type using quick assist

var.vartotype

Convert from type to var using quick assist

var.typetovar

General

Credentials Framework

Sunsetting jboss.org credentials

Download Runtimes and CDK Server Adapter used the credentials framework to manage credentials. However, the JBoss.org credentials cannot be used any more as the underlying service used by these components does not support these credentials.

Aerogear

Aerogear component deprecation

The Aerogear component has been marked deprecated as there is no more maintenance on the source code. It is still available in Red Hat Central and may be removed in the future.

Arquillian

Arquillian component removal

The Arquillian component has been removed from Red Hat Central as it has been deprecated since July 2017.

The last available update site release is here:

BrowserSim

BrowserSim component deprecation

The BrowserSim component has been marked deprecated as there is no more maintenance on the source code. It is still available in Red Hat Central and may be removed in the future.

Freemarker

Freemarker component removal

The Freemarker component has been removed from Red Hat Central as it has been deprecated since July 2017.

The last available update site release is here:

LiveReload

LiveReload component deprecation

The LiveReload component has been marked deprecated as there is no more maintenance on the source code. It is still available in Red Hat Central and may be removed in the future.

And more…​

You can find more noteworthy updates in on this page.

What is next?

Having JBoss Tools 4.5.3 and Developer Studio 11.3 out we are already working on the next release for Eclipse Photon.

Enjoy!

Jeff Maury

Try our complete Eclipse Oxygen and Red Hat JBoss Developer Studio 11 compatible integration tooling.

jbosstools jbdevstudio blog header

JBoss Tools Integration Stack 4.5.2.Final / Developer Studio Integration Stack 11.2.0.GA

All of the Integration Stack components have been verified to work with the same dependencies as JBoss Tools 4.5 and Developer Studio 11.

What’s new for this release?

This release provides full Teiid Designer tooling support for JBoss Data Virtualization 6.4 runtime. It provides an updated BPMN2 Modeler and jBPM/Drools for our Business Process Modeling friends. It also provides full synchronization with Devstudio 11.2.0.GA, JBoss Tools 4.5.2.Final and Eclipse Oxygen.2. Please note that SwitchYard is deprecated in this release.

Released Tooling Highlights

JBoss Business Process and Rules Development

BPMN2 Modeler Known Issues

See the BPMN2 1.4.2.Final Known Issues Section of the Integration Stack 11.2.0.GA release notes.

Drools/jBPM6 Known Issues

See the Drools 7.5.0.Final Known Issues Section of the Integration Stack 11.2.0.GA release notes.

SwitchYard Highlights

See the SwitchYard 2.4.1.Final Resolved Issues Section of the Integration Stack 11.2.0.GA release notes.

Data Virtualization Highlights

Teiid Designer

See the Teiid Designer 11.1.1.Final Resolved Issues Section of the Integration Stack 11.2.0.GA release notes.

What’s an Integration Stack?

Red Hat JBoss Developer Studio Integration Stack is a set of Eclipse-based development tools. It further enhances the IDE functionality provided by JBoss Developer Studio, with plug-ins specifically for use when developing for other Red Hat JBoss products. It’s where DataVirt Tooling, SOA tooling and BRMS tooling are aggregated. The following frameworks are supported:

JBoss Business Process and Rules Development

JBoss Business Process and Rules Development plug-ins provide design, debug and testing tooling for developing business processes for Red Hat JBoss BRMS and Red Hat JBoss BPM Suite.

  • 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 including KIE.

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

JBoss Data Virtualization Development

JBoss Data Virtualization Development plug-ins provide a graphical interface to manage various aspects of Red Hat JBoss Data Virtualization instances, including the ability to design virtual databases and interact with associated governance repositories.

  • 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

JBoss Integration and SOA Development plug-ins provide tooling for developing, configuring and deploying BRMS and SwitchYard to Red Hat JBoss Fuse and Fuse Fabric containers.

  • All of the Business Process and Rules Development plugins plus SwitchYard. Switchyard is deprecated as of this release.

  • Fuse Tooling has moved out of the Integration Stack to be a core part of JBoss Tools and Developer Studio.

The JBoss Tools website features tab

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

Installation

The easiest way to install the Integration Stack components is through the stand-alone installer or through our JBoss Tools Download Site.

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

Let us know how it goes!

Paul Leacu.

Introduction

The JBoss Tools OpenShift tooling uses rsync between your local workstation and running pods on an OpenShift cluster. This is used by the OpenShift server adapter to provide hot deploy and debugging features to the developer.

If you’re running JBoss Tools and/or Red Hat JBoss Developer Studio on a Linux or MacOSX platform, you’re not concerned by this article. If you’re running on Windows platform, you may be aware that there are some permission relation issues that are painful. The aim of this article is to explain the root cause and how to fix it.

The problem

The OpenShift tooling is using rsync to synchronize local changes to your project to remote pods running on an OpenShift cluster. The problem on Windows is that rsync is very Linux/UNIX based and by default, it tries to may users/permissions of files between the two platforms. As Windows user and permission management is totally different from the Linux one, it leads to strange permissions being set on your local files, this causing some failures when trying to update those files.

It’s possible to prevent rsync to map this user/permission through some rsync flag. Unfortunately, rsync is not launched by the OpenShift tooling but through the help of the OpenShift oc client which does not allow to pass this flags.

The solution

On Windows, rsync is provided by several providers. The well known ones are Cygwin and cwRsync.

The last one is based on Cygwin and both of them use a mapping between Windows paths (C: based) and Linux/UNIX ones. This mapping can be controlled through a file called etc/fstab. The solution that we are proposing here is to instruct not to map user and permissions at this level. Please note that this file may not be present, so may need to create one in this case.

How to locate the file

The fstab file is located into the rsync distribution your are using (Cygwin or cwRsync). In order to get the installation path, open a Windows command shell and type the following command:

where rsync.exe

This will give you the path of the rsync.exe executable that is used by default. It has the general form of $MY_RSYNC_DIST_DIR\bin\rsync.exe where $MY_RSYNC_DIST_DIR is the folder where your rsync distribution is installed.

The fstab file is located at $MY_RSYNC_DIST_DIR/etc/fstab.

Updating the file

If you don’t find the file at the proper location (cwRsync case), then it’s very simple. Create the file at $MY_RSYNC_DIST_DIR/etc/fstab and paste the following content:

# /etc/fstab
#
#    This file is read once by the first process in a Cygwin process tree.
#    To pick up changes, restart all Cygwin processes.  For a description
#    see https://cygwin.com/cygwin-ug-net/using.html#mount-table

# This is default anyway:
none /cygdrive cygdrive binary,posix=0,user,noacl 0 0

If the file already exists, then it’s likely that you have a line like:

none /cygdrive cygdrive binary,posix=0,user 0 0

So, just add the noacl flag to the list of options:

none /cygdrive cygdrive binary,posix=0,user,noacl 0 0

Save the file, you’re done and you should not have anymore permission errors during rsync operations !!!.

Jeff Maury

JBoss Tools 4.5.2 and Red Hat JBoss Developer Studio 11.2 for Eclipse Oxygen.2 are here waiting for you. Check it out!

devstudio11

Installation

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.

http://download.jboss.org/jbosstools/oxygen/stable/updates/

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.

OpenShift 3

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.

{
  "apiVersion": "v1",
  "kind": "Template",
  "metadata": {
    "annotations": {
      "description": "Spring-Boot and CXF JAXRS QuickStart. This example demonstrates how you can use Apache CXF JAXRS with Spring Boot on Openshift. The quickstart uses Spring Boot to configure a little application that includes a CXF JAXRS endpoint with Swagger enabled.",
      "tags": "quickstart,java,springboot,fis",
      "iconClass": "icon-jboss",
      "version": "2.0"
    },
    "name": "s2i-spring-boot-cxf-jaxrs"
  },
  "labels": {
    "template": "s2i-spring-boot-cxf-jaxrs"
  },
  "parameters": [
    {
      "name": "APP_NAME",
      "displayName": "Application Name",
      "required": true,
      "value": "s2i-spring-boot-cxf-jaxrs",
      "description": "The name assigned to the application."
    },
    {
      "name": "GIT_REPO",
      "displayName": "Git Repository URL",
      "required": true,
      "value": "https://github.com/jeffmaury/spring-boot-cxf-jaxrs.git",
      "description": "The URL of the repository with your application source code."
    },
    {
      "name": "GIT_REF",
      "displayName": "Git Reference",
      "value": "hotdeploy",
      "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch."
    },
    {
      "name": "SERVICE_NAME",
      "displayName": "Service Name",
      "value": "cxf-jaxrs",
      "description": "Exposed service name."
    },
    {
      "name": "BUILDER_VERSION",
      "displayName": "Builder version",
      "value": "2.0",
      "description": "The version of the FIS S2I builder image to use."
    },
    {
      "name": "APP_VERSION",
      "displayName": "Application Version",
      "value": "1.0.0.redhat-000014",
      "description": "The application version."
    },
    {
      "name": "MAVEN_ARGS",
      "displayName": "Maven Arguments",
      "value": "package -DskipTests -Dfabric8.skip -e -B",
      "description": "Arguments passed to mvn in the build."
    },
    {
      "name": "MAVEN_ARGS_APPEND",
      "displayName": "Extra Maven Arguments",
      "description": "Extra arguments passed to mvn, e.g. for multi-module builds."
    },
    {
      "name": "ARTIFACT_DIR",
      "displayName": "Maven build directory",
      "description": "Directory of the artifact to be built, e.g. for multi-module builds."
    },
    {
      "name": "IMAGE_STREAM_NAMESPACE",
      "displayName": "Image Stream Namespace",
      "value": "openshift",
      "required": true,
      "description": "Namespace in which the Fuse ImageStreams are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project."
    },
    {
      "name": "BUILD_SECRET",
      "displayName": "Git Build Secret",
      "generate": "expression",
      "description": "The secret needed to trigger a build.",
      "from": "[a-zA-Z0-9]{40}"
    },
    {
      "name": "CPU_REQUEST",
      "displayName": "CPU request",
      "value": "0.2",
      "required": true,
      "description": "The amount of CPU to requests."
    },
    {
      "name": "CPU_LIMIT",
      "displayName": "CPU limit",
      "value": "1.0",
      "required": true,
      "description": "The amount of CPU the container is limited to use."
    }
  ],
  "objects": [
    {
      "apiVersion": "v1",
      "kind": "Route",
      "metadata": {
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "project": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}-route"
      },
      "spec": {
        "to": {
          "kind": "Service",
          "name": "${SERVICE_NAME}"
        }
      }
    },
    {
      "apiVersion": "v1",
      "kind": "Service",
      "metadata": {
        "annotations": {
        },
        "labels": {
          "component": "${APP_NAME}",
          "provider": "s2i",
          "project": "${APP_NAME}",
          "version": "${APP_VERSION}",
          "group": "quickstarts"
        },
        "name": "${SERVICE_NAME}"
      },
      "spec": {
        "clusterIP": "None",
        "deprecatedPublicIPs": [],
        "ports": [
          {
            "port": 9413,
            "protocol": "TCP",
            "targetPort": 8080
          }
        ],
        "selector": {
          "project": "${APP_NAME}",
          "component": "${APP_NAME}",
          "provider": "s2i",
          "group": "quickstarts"
        }
      }
    },
    {
      "kind": "ImageStream",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "project": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {},
      "status": {
        "dockerImageRepository": ""
      }
    },
    {
      "kind": "BuildConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "project": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "triggers": [
          {
            "type": "GitHub",
            "github": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "Generic",
            "generic": {
              "secret": "${BUILD_SECRET}"
            }
          },
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChange": {}
          }
        ],
        "source": {
          "type": "Git",
          "git": {
            "uri": "${GIT_REPO}",
            "ref": "${GIT_REF}"
          }
        },
        "strategy": {
          "type": "Source",
          "sourceStrategy": {
            "from": {
              "kind": "DockerImage",
              "name": "fabric8/s2i-java:${BUILDER_VERSION}"
            },
            "forcePull": true,
            "incremental": true,
            "env": [
              {
                "name": "BUILD_LOGLEVEL",
                "value": "5"
              },
              {
                "name": "ARTIFACT_DIR",
                "value": "${ARTIFACT_DIR}"
              },
              {
                "name": "MAVEN_ARGS",
                "value": "${MAVEN_ARGS}"
              },
              {
                "name": "MAVEN_ARGS_APPEND",
                "value": "${MAVEN_ARGS_APPEND}"
              }
            ]
          }
        },
        "output": {
          "to": {
            "kind": "ImageStreamTag",
            "name": "${APP_NAME}:latest"
          }
        },
        "resources": {}
      },
      "status": {
        "lastVersion": 0
      }
    },
    {
      "kind": "DeploymentConfig",
      "apiVersion": "v1",
      "metadata": {
        "name": "${APP_NAME}",
        "creationTimestamp": null,
        "labels": {
          "component": "${APP_NAME}",
          "group": "quickstarts",
          "project": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        }
      },
      "spec": {
        "strategy": {
          "resources": {}
        },
        "triggers": [
          {
            "type": "ConfigChange"
          },
          {
            "type": "ImageChange",
            "imageChangeParams": {
              "automatic": true,
              "containerNames": [
                "${APP_NAME}"
              ],
              "from": {
                "kind": "ImageStreamTag",
                "name": "${APP_NAME}:latest"
              }
            }
          }
        ],
        "replicas": 1,
        "selector": {
          "component": "${APP_NAME}",
          "deploymentconfig": "${APP_NAME}",
          "group": "quickstarts",
          "project": "${APP_NAME}",
          "provider": "s2i",
          "version": "${APP_VERSION}"
        },
        "template": {
          "metadata": {
            "creationTimestamp": null,
            "labels": {
              "component": "${APP_NAME}",
              "deploymentconfig": "${APP_NAME}",
              "group": "quickstarts",
              "project": "${APP_NAME}",
              "provider": "s2i",
              "version": "${APP_VERSION}"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "${APP_NAME}",
                "image": "library/${APP_NAME}:latest",
                "readinessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 10
                },
                "livenessProbe" : {
                  "httpGet" : {
                    "path" : "/health",
                    "port" : 8081
                  },
                  "initialDelaySeconds" : 180
                },
                "ports": [
                  {
                    "containerPort": 8778,
                    "name": "jolokia"
                  }
                ],
                "env" : [ {
                  "name" : "KUBERNETES_NAMESPACE",
                  "valueFrom" : {
                    "fieldRef" : {
                      "fieldPath" : "metadata.namespace"
                    }
                  }
                } ],
                "resources": {
                  "requests": {
                    "cpu": "${CPU_REQUEST}"
                  },
                  "limits": {
                    "cpu": "${CPU_LIMIT}"
                  }
                }
              }
            ]
          }
        }
      },
      "status": {}
    }
  ]
}

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.

So, from now, when the OpenShift server adapter is started in debug mode, 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 run mode.

  • if your OpenShift deployment has a liveness probe configured, the initialDelay field 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 run mode

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:

new delete resources explorer

Now, let’s invoke the new delete command on the eap OpenShift project: right click the OpenShift project and select Delete Resources…​:

new delete resources dialog

Let suppose that we want to delete the EAP6.4 deployement. Enter eap=6.4 in the filter field:

new delete resources dialog1

Push the Select All button:

new delete resources dialog2

Close this dialog by pushing the OK button. The resources will be deleted and the OpenShift explorer will be updated accordingly:

new delete resources explorer1

Server tools

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 Tooling

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.

Fuse 7 Server Adapter

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.

Switch Camel Version with Progress Bar

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.

Fuse Ignite Technical Extension Wizard

The provided project template allows you to define an Apache Camel route as the base flow of your new technical extension.

Fuse Ignite Technical Extension Route

To configure your new technical extension you can use the JSON file created with the new project.

Fuse Ignite Technical Extension Configuration

Forge Tools

Forge Runtime updated to 3.8.1.Final

The included Forge runtime is now 3.8.1.Final. Read the official announcement here.

And more…​

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.

Enjoy!

Jeff Maury

JBoss Tools 4.5.1 and Red Hat JBoss Developer Studio 11.1 for Eclipse Oxygen.1a are here waiting for you. Check it out!

devstudio11

Installation

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.1a 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.

http://download.jboss.org/jbosstools/oxygen/stable/updates/

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.

OpenShift 3

CDK 3.2 Server Adapter

A new server adapter has been added to support the next generation of CDK 3.2. While the server adapter itself has limited functionality, it is able to start and stop the CDK virtual machine via its minishift binary. Simply hit Ctrl+3 (Cmd+3 on OSX) and type CDK, that will bring up a command to setup and/or launch the CDK server adapter. You should see the old CDK 2 server adapter along with the new CDK 3 one (labeled Red Hat Container Development Kit 3.2+ ).

cdk3.2 server adapter

All you have to do is set the credentials for your Red Hat account, the location of the CDK’s minishift binary file, the type of virtualization hypervisor and an optional CDK profile name.

cdk3.2 server adapter1

Once you’re finished, a new CDK Server adapter will then be created and visible in the Servers view.

cdk3.2 server adapter2

Once the server is started, Docker and OpenShift connections should appear in their respective views, allowing the user to quickly create a new Openshift application and begin developing their AwesomeApp in a highly-replicatable environment.

cdk3.2 server adapter3
cdk3.2 server adapter4

New command to tune resource limits

A new command has been added to tune resource limits (CPU, memory) on an OpenShift deployment. It’s available for a Service, a DeploymentConfig, a ReplicationController or a Pod.

To activate it, go the the OpenShift explorer, select the OpenShift resource, right click and select Edit resource limits. The following dialog will show up:

edit resource limits

After you changed the resource limits for this deployment, it will be updated and new pods will be spawned (not for ReplicationController)

edit resource limits1

Discover Docker registry URL for OpenShift connections

When an OpenShift connection is created, the Docker registry URL is empty. When the CDK is started through the CDK server adapter, an OpenShift connection is created or updated if a matching OpenShift connection is found. But what if you have several OpenShift connections, the remaining ones will be left with the empty URL.

You can find the matching Docker registry URL when editing the OpenShift connection through the Discover button:

edit connection discover

Click on the Discover button and the Docker registry URL will be filled if a matching started CDK server adapter is found:

edit connection discover1

OpenShift.io login

It is possible to login from JBoss Tools to OpenShift.io. A single account will be maintained per workspace. Once you initially logged onto OpenShift.io, all needed account information (tokens,…​) will be stored securely.

There are two ways to login onto OpenShift.io:

  • through the UI

  • via a third party service that will invoke the proper extension point

UI based login to OpenShift.io

In the toobar, you should see a new icon Toolbar. Click on it and it will launch the login.

If this is the first time you login to OpenShift.io or if you OpenShift.io account tokens are not valid anymore, you should see a browser launched with the following content:

osio browser

Enter your RHDP login and the browser will then auto-close and an extract (for security reasons) of the OpenShift.io token will be displayed:

osio token dialog

This dialog will be also shown if an OpenShift.io account was configured in the workspace and the account information is valid.

Via extension point

The OpenShift.io integration can be invoked by a third party service through the org.jboss.tools.openshift.io.code.tokenProvider extension point. This extension point will perform the same actions as the UI but basically will return an access token for OpenShift.io to the third party service. A detailed explanation of how to use this extension point is described here: Wiki page

You can display the account information using the Eclipse Jboss Tools → OpenShift.io preference node. If you workspace does not contain an OpenShift.io account yet, you should see the following:

osio preferences

If you have a configured OpenShift.io account, you should see this:

osio preferences1

Server tools

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 Tooling

Global Beans: improve support for Bean references

It is now possible to set Bean references from User Interface when creating a new Bean:

Create Factory Bean Reference

Editing Bean references is also now available on the properties view when editing an existing Bean:

Edit Factory Bean Reference

Additional validation has been added to help users avoid mixing Beans defined with class names and Beans defined referencing other beans.

Apache Karaf 4.x Server Adapter

We are happy to announce the addition of new Apache Karaf server adapters. You can now download and install Apache Karaf 4.0 and 4.1 from within your development environment.

Apache Karaf 4x Server Adapters

Switch Apache Camel Version

You can now change the Apache Camel version used in your project. To do that you invoke the context menu of the project in the project explorer and navigate into the Configure menu. There you will find the menu entry called Change Camel Version which will guide you through this process.

Switch Camel Version

Improved Validation

The validation in the editor has been improved to find containers which lack mandatory child elements. (for instance a Choice without a child element)

Improved validation

Java Developement Tools (JDT)

Support for Java™ 9

Java™ 9 is here, and JDT fully supports it:

  • The Eclipse compiler for Java (ECJ) implements all the new Java 9 language enhancements

  • Updated significant features to support Java Modules, such as compiler, search and many editor features.

It is not mandatory to run Eclipse with Java Runtime 9 to get the Java 9 support. However, a Java runtime 9 is required to be on a project’s build path to compile a modular project against the system modules.

  • When a Java Runtime 9 is added to a project’s build path, the system modules are listed under the System library in the package explorer

java9 package explorer
  • An existing non-modular Java project can be quickly converted to a module by creating a module-info.java for that project. This feature can be availed once the project has been moved to compliance 9

java9 create module
  • With Java 9 support, a library or a container can now be added to the module path as opposed to the classpath

java9 module path
  • Once a module has been added to a project’s module path, its encapsulation properties can further be modified by clicking on the Is Modular option and editing the Module properties. The following example shows how module module.one can can be made to export its packages in the context of the current Java project

java9 module properties
  • Java search now includes a new search scope - Module

java9 module search

Support for JUnit 5

JUnit 5 support is now available in Eclipse.

  • Create a new JUnit Jupiter test via *New JUnit Test Case wizard:

new junit jupiter test
  • Add JUnit 5 library to the build path

    • New JUnit Test Case wizard offers to add it while creating a new JUnit Jupiter test

add junit 5 lib
  • Quick Fix (Ctrl+1) proposal on @Test, @TestFactory, @ParameterizedTest and @RepeatedTest annotations

add junit 5 lib quick fix
  • Add JUnit library in Java Build Path dialog

add junit 5 lib java build path
  • Create a JUnit Jupiter test method with the new test_jupiter template

junit jupiter test method template
  • Create a @TestFactory method with the new test_factory template

junit jupiter test factory template
  • JUnit Jupiter’s Assertions, Assumptions, DynamicContainer and DynamicTest classes are now added to Eclipse Favorites by default

content assist favorites

This allows you to quickly import the static methods from these classes in your code via Content Assist (Ctrl + Space) and Quick Fix (Ctrl + 1).

  • View all the failures from grouped assertions in the same Result Comparison dialog opened from JUnit view

grouped assertions result comparison
  • View the number of disabled tests and tests with assumption failures on hover in JUnit view

skipped tests
  • Use Go to File action or just double-click to navigate to the test from JUnit view even when the test is displayed with a custom name

display name
  • (Re-)Run a single @Nested test class by using the Run action in JUnit view or Outline view. You can even right-click on a nested test class name in the editor and use the Run As action

run nested class
  • The Test Method Selection dialog in JUnit launch configuration now shows the method parameter types also

test method selection dialog
  • You can provide tags to be included in or excluded from a test run in the Configure Tags dialog of JUnit launch configuration

junit tags
  • If you are using an Eclipse workspace where you were running your JUnit 5 tests via @RunWith(JUnitPlatform.class) in Eclipse without JUnit 5 support then you will have JUnit 4 as the test runner in their launch configurations. Before executing these tests in Eclipse with JUnit 5 support, you should either change their test runner to JUnit 5 or delete them so that new launch configurations are created with JUnit 5 test runner while running the tests

test runner update

We do not support running tests in a setup where an old Eclipse build (not having JUnit 5 support) is using a new Eclipse build (having JUnit 5 support) as target. Also, developers who have the JDT JUnit runtime bundles (org.eclipse.jdt.junit.runtime, org.eclipse.jdt.junit4.runtime) checked out and pull the latest changes will run into the above issue. You are expected to use a new Eclipse build for the development.

And more…​

You can find more noteworthy updates in on this page.

What is next?

Having JBoss Tools 4.5.1 and Developer Studio 11.1 out we are already working on the next maintenance release for Eclipse Oxygen.

Enjoy!

Jeff Maury

Try our complete Eclipse Oxygen and Red Hat JBoss Developer Studio 11 compatible integration tooling.

jbosstools jbdevstudio blog header

JBoss Tools Integration Stack 4.5.0.Final / Developer Studio Integration Stack 11.0.0.GA

All of the Integration Stack components have been verified to work with the same dependencies as JBoss Tools 4.5 and Developer Studio 11.

What’s new for this release?

This is the initial release in support of Eclipse Oxygen. It syncs up with Developer Studio 11.0.0, JBoss Tools 4.5.0 and Eclipse 4.7.0 (Oxygen.0). It is also a maintenance release for SwitchYard and BRMS tooling.

Data Virtualization tooling support is not yet available (scheduled for the autumn).

SwitchYard is deprecated in this release.

Fuse Tooling has moved out of the Integration Stack to be a core part of JBoss Tools and Developer Studio.

Released Tooling Highlights

JBoss Business Process and Rules Development

BPMN2 Modeler Known Issues

See the BPMN2 1.4.0.Final Known Issues Section of the Integration Stack 11.0.0.GA release notes.

Drools/jBPM6 Known Issues

See the Drools 7.0.1.Final Known Issues Section of the Integration Stack 11.0.0.GA release notes.

SwitchYard Highlights

See the SwitchYard 2.4.0.Final Resolved Issues Section of the Integration Stack 11.0.0.GA release notes.

Data Virtualization Highlights

Teiid Designer

Not yet available for Oxygen.

What’s an Integration Stack?

Red Hat JBoss Developer Studio Integration Stack is a set of Eclipse-based development tools. It further enhances the IDE functionality provided by JBoss Developer Studio, with plug-ins specifically for use when developing for other Red Hat JBoss products. It’s where DataVirt Tooling, SOA tooling and BRMS tooling are aggregated. The following frameworks are supported:

JBoss Business Process and Rules Development

JBoss Business Process and Rules Development plug-ins provide design, debug and testing tooling for developing business processes for Red Hat JBoss BRMS and Red Hat JBoss BPM Suite.

  • 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 including KIE.

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

JBoss Data Virtualization Development

JBoss Data Virtualization Development plug-ins provide a graphical interface to manage various aspects of Red Hat JBoss Data Virtualization instances, including the ability to design virtual databases and interact with associated governance repositories. Data Virtualization tooling support is not yet available (scheduled for the autumn).

  • 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

JBoss Integration and SOA Development plug-ins provide tooling for developing, configuring and deploying BRMS and SwitchYard to Red Hat JBoss Fuse and Fuse Fabric containers.

  • All of the Business Process and Rules Development plugins plus SwitchYard. Switchyard is deprecated as of this release.

  • Fuse Tooling has moved out of the Integration Stack to be a core part of JBoss Tools and Developer Studio.

The JBoss Tools website features tab

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

Installation

The easiest way to install the Integration Stack components is through the stand-alone installer.

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

Be the first to try it on Oxygen!

Paul Leacu.

JBoss Tools 4.5 and Red Hat JBoss Developer Studio 11.0 for Eclipse Oxygen are here waiting for you. Check it out!

devstudio11

Installation

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 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.

http://download.jboss.org/jbosstools/oxygen/stable/updates/

What is new?

Our main focus for this release was on adoption of Eclipse Oxygen, 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.

OpenShift 3

oc client selection per connection

Some operations (logs, file synchronization) require the user of the oc CLI client. It was possible to specific a single instance of the used oc CLI tool for the whole workspace. This may cause some trouble when working simultaneously with several OpenShift clusters (that may have different version levels). It is now possible to specify the oc CLI tool on the connection level. This is optional, and the default is to use the oc CLI tool specified at the workspace level.

The connection specific oc CLI tool is accessible through the OpenShift connection edit dialog with the Advanced button:

connection wizard override oc1

Enable the Override 'oc' location' flag and select a specific oc CLI tool for this connection through the *Browse button:

connection wizard override oc2

OpenShift connections created by the CDK server adapter will automatically have a specific oc CLI tool set as the CDK installs locally an oc CLI tool that is aligned with the embedded OpenShift version.

connection wizard override oc3

OpenShift server and Kubernetes server versions displayed

The OpenShift server and Kubernetes server versions are now displayed in the OpenShift connection properties. This information is retrieved using an un-authenticated request login to the OpenShift cluster is not required. This allow user to verify the OpenShift and Kubernetes level when interacting.

Here is an example based on an OpenShift connection against CDK3:

openshift k8s versions

if the cluster is not started or accessible, then no values are displayed:

openshift k8s versions1

Docker

New Security Options

Support has been added when launching commands in a Container to specify a security option profile. This can be done in lieu of specifying privileged mode. For example, to run gdbserver, one can specify "seccomp:unprofiled" to allow ptrace commands to be run by the gdb server.

The Run Image Wizard has been modified to allow specifying an unconfined seccomp profile to replace the default seccomp profile.

LinuxToolsUnconfinedOption

Security options are also now shown in the Properties View.

LinuxToolsUnconfinedProperty

Docker Tooling JDT Integration

The Eclipse Docker Tooling Feature now contains a plugin that integrates with the Java Development Tools (JDT). This permits the running and debugging of Eclipse Java projects within containers. The functionality is provided through the context menu under the 'Run As' and 'Debug As' options. The daemon connection used, as well as the image chosen are configurable through launch configurations.

Docker tooling jdt debug menu

This is intended to work in the same way that a regular run/debug session works.

Docker tooling jdt debug

Docker Client Upgrade

The version of docker-client used by the Docker Tooling plug-ins has been upgraded to 6.1.1 for the 3.0.0 release of the Docker Tooling feature.

Server Tools

EAP 7.1 Server Adapter

A server adapter has been added to work with EAP 7.1. It’s currently released in Tech-Preview mode only, since the underlying WildFly 11 continues to be under active development with substantial opportunity for breaking changes. This new server adapter includes support for incremental management deployment like it’s upstream WildFly 11 counterpart.

Removal of Event Log and other Deprecated Code

The Event Log view has been removed. The standard eclipse log is to be used for errors and other important messages regarding errors during server state transitions.

Fuse Tooling

Bean Support

We are happy to finally announce support for Beans (Spring / Blueprint).

Using the Route Editor you can now access Spring / Blueprint Beans in your Camel Context through the Configurations tab.

Configurations tab in Editor

In the Configurations tab you can see all global configuration elements of your Camel Context. You can Add, Edit and Delete elements using the buttons on the right side.

Configurations tab content

By clicking the Add or Edit button a wizard will be openend to guide you on the creation of the Bean.

New Bean wizard

In the wizard you can select an existing bean class from your project or create a new bean class. You can also specify constructor arguments and bean properties. Once created you can then modify the properties of that Bean inside the Properties view.

alt

Hibernate Tools

Hibernate Search Support

We are glad to announce the support of the Hibernate Search. The project was started by Dmitrii Bocharov in the Google Summer Code program and has been successfully transferred in the current release of the JBoss Tools from Dmitrii’s repository into the jbosstools-hibernate repository and has become a part of the JBoss family of tools.

Functionality

The plugin was thought to be some kind of a Luke tool inside Eclipse. It was thought to be more convenient than launching a separate application, and picks up the configuration directly from your Hibernate configuration.

Two options were added to the console configurations submenu: Index Rebuild and Index Toolkit. They become available when you use hibernate search libraries (they exist in the build path of your application, e.g. via maven).

Configuration menu items
Index Rebuild

When introducing Hibernate Search in an existing application, you have to create an initial Lucene index for the data already present in your database.

The option "Index Rebuild" will do so by re-creating the Lucene index in the directory specified by the hibernate.search.default.indexBase property.

Hibernate Search indexed entities
Hibernate Search configuration properties
Index Toolkit

"Open Index Toolkit" submenu of the console configuration opens an "Index Toolkit" view, which has three tabs: Analyzers, Explore Documents, Search.

Analyzers

This tab allows you to view the result of work of different Lucene Analyzers. The combo-box contains all classes in the workspace which extend org.apache.lucene.analysis.Analyzer, including custom implementations created by the user. While you type the text you want to analyse, the result immediately appears on the right.

Analyzers
Explore Documents

After creating the initial index you can now inspect the Lucene Documents it contains.

All entities annotated as @Indexed are displayed in the Lucene Documents tab. Tick the checkboxes as needed and load the documents. Iterate through the documents using arrows.

Lucene Documents inspection
Searching

The plugin passes the input string from the search text box to the QueryParser which parses it using the specified analyzer and creates a set of search terms, one term per token, over the specified default field. The result of the search pulls back all documents which contain the terms and lists them in a table below.

Search tab
Demo

Hibernate Runtime Provider Updates

The Hibernate 5.1 runtime provider now incorporates Hibernate Core version 5.1.8.Final and Hibernate Tools version 5.1.5.Final.

The Hibernate 5.2 runtime provider now incorporates Hibernate Core version 5.2.10.Final and Hibernate Tools version 5.2.5.Final.

Forge

Forge Runtime updated to 3.7.2.Final

The included Forge runtime is now 3.7.2.Final. Read the official announcement here.

Freemarker

Freemarker component deprecation

The Freemarker component has been marked deprecated as there is no more maintenance on the source code. It is still available in Red Hat Central and may be removed in the future.

Seam

Seam component deprecation

The Seam component has been marked deprecated as the Seam project has been stopped. It is still available in Red Hat Central and may be removed in the future.

Gradle

Maven integration has been a long time first class citizen in Red Hat JBoss Developer Studio. Gradle is now having the same level. You can now manage Gradle projects in the base Red Hat JBoss Developer Studio installation. For more information, please see Buildship documentation.

Platform

"Always run in background" enabled by default

The Always run in background preference is now enabled by default. If you prefer to see a progress dialog for long-running operations, you can disable this option on the General preference page.

Improved default styling for the toolbar

The styling of the window toolbar has been improved. On Windows, the toolbar color is now consistent with the color of the perspective switcher.

css styles windows toolbar

New default styling for form-based user interfaces

The default styling for form-based user interfaces was changed to use a flat, gray style. This change was inspired by the popular "Clean Sheet" plug-in. Below you see screenshots of the MANIFEST.MF editor and the Git Staging view in this new design.

forms grey styling2

Images are opened in the Eclipse IDE

Image files are now opened directly in Eclipse by default. The Internal Web Browser has been registered as default editor for files with the png, jpg, jpeg, gif, bmp, and ico extensions.

image opened in eclipse

Use Open With > System Editor to open files in the default external program.

Installation Details menu entry removed

The Help > Installation Details menu entry has been removed. You can access this dialog via Help > About > Installation Details or via Quick Access (Ctrl+3) and then typing "Installation Details".

Maximize and Minimize via Window > Appearance menu

The Maximize and Minimize Active View or Editor menu items have been moved to the Window > Appearance menu. They used to be in the Window > Navigate menu.

"Terminate and Relaunch" from Run menu, context menu and tool bar

A Terminate and Relaunch option is now available while launching from Run menu, context menu and tool bar. The default setting is to launch without terminating previous launches. To enable automatic termination, select the option Terminate and Relaunch while launching on Preferences > Run/Debug > Launching. The behavior not selected on the preference page can also be activated on-demand by holding the Shift key while launching the configuration from history.

launch preference terminate relaunch

Breakpoints in Overview Ruler

Breakpoints are now visible in the Overview Ruler by default.

breakpoint overview ruler

To configure the rendering of annotations, right-click the overview ruler and choose Preferences…​. This directly opens the preference page General > Editors > Text Editors > Annotations.

Configure left and right sides in Compare editors

Compare editors now offer a button Swap Left and Right View.

compare editor

The direction of comparison is preserved between invocations of the Compare editor and can also be changed in the Compare/Patch preference page.

compare preferences

'Switch Workspace' and 'Restart' menu items

The Switch Workspace and Restart menu items are now at the bottom of the File menu: just above the Exit item on Windows and Linux, and as last menu items on the Mac.

switch workspace restart menu items

Quick Access search text in Help

You can now Search in Help after you’ve entered text in the Quick Access dialog. The option is shown when the filter text is longer than three characters, and it is always added at the end of the results.

Search in Help using the new Quick Access dialog:

quick access search in help

Search in Help using the standalone dialog:

quick access search in help standalone

Command icons shown in Quick Access

Quick Access (Ctrl+3) now shows the icon for a Command if available. Otherwise, it still shows the default blue ball.

command image visible in quick access

Colors in interactive popups

Interactive popups like JDT’s Quick Outline don’t use the platform’s tooltip colors any more, since those were sometimes hard to read.

Old style:

old popup color constants

New style:

new popup color constants

Simplified filters dialog for Problems, Bookmarks, and Tasks views

The Filters dialog of the Problems, Bookmarks, and Tasks views has been simplified. If you select several configurations, items matching any of these configurations will be shown.

Old dialog in Problems view:

old problems filter

New dialog in Problems view:

new problems filter

Filter dialog for Problems, Bookmarks, and Tasks views easier to reach

The Filters dialog is now accessible from the toolbar of the Problems, Bookmarks, and Tasks views.

Previously, it was only accessible via view menu > Configure Contents…​:

old filter location

Now also as a toolbar button:

new filter location

Editor selection dialog: Use for all

The Editor Selection dialog now offers a one-click option for choosing the editor that should open all files with the same extension in the future.

Example when selecting "file.xyz" and choosing Open with > Other…​:

editor selection dialog one click for all files by type

More high resolution images

More images in the old GIF format were replaced by images in the PNG format. In addition, high resolution images where added. As PNG can handle transparency much better than GIF, the ugly white borders around shapes visible in the dark theme are now gone for these icons.

To see their full beauty, a high-DPI monitor (e.g. a Retina Mac) is needed. The lower part of the screenshot shows the wizard banner image of the Import dialog in high resolution.

import before and after

The right part of the screenshot shows all the icons in high resolution.

customize navigator before and after

'Filters and Customization…​' in Project Explorer

The Customize View…​ command in the Project Explorer's view menu has been renamed to Filters and Customization…​

filters and customization menu item

Copy Details submenu for Problems and Tasks views

You can copy the description or the resource qualified name of an error, warning, or task into the clipboard using commands in the Copy Details context menu.

problems and tasks copy details submenu

Show Annotation renamed to Show Revision Information

For files checked out from CVS, the Show Annotation command in the text editor’s vertical ruler and in the Team menu has been renamed to Show Revision Information. This change has been synchronized with the Eclipse Git team provider, so future versions of EGit will use the same name.

"Other Projects" working set in Project Explorer

If you’re using the Project Explorer and working sets as top-level elements, the Top Level Elements view menu now provides a way to show an Other Projects group for projects that are not in one of the currently active working sets.

other projects ws

"Recently used filters" feature in Project Explorer

The Project Explorer view now has a Recent Filters menu that shows the most recently used filters.

recent filters project explorer

Reduced window margins

The window margins have been reduced to provide more space in the IDE.

Old style:

window margins old

New style (see the reduced space below the Quick Access box).

window margins new

External browsers on Linux

On Linux, the list of recognized external browsers has been updated to include:

  • Firefox (/usr/bin/firefox)

  • Chrome (/usr/bin/google-chrome)

  • Chromium (/usr/bin/chromium-browser)

  • Epiphany/Gnome Web (/usr/bin/epiphany)

  • Konqueror (/usr/bin/konqueror)

browsers linux update

GTK theme system property

SWT now stores the GTK theme used at launch time in a system property, org.eclipse.swt.internal.gtk.theme. This property can help with troubleshooting issues that are specific to certain themes. It can be viewed in About > Installation Details > Configuration.

Ctrl+E command improvements

You can use the Quick Switch Editor (Ctrl+E) command to list and filter all the open editors. This works now also if you have selected a view in the editor area. You can filter the list using wildcards, and select editors using mouse or keyboard.

Now you can also cycle through the list by pressing Ctrl+E again. Or use Arrow Up/Down as before.

ctrl e improvements

Perspective descriptions in Open Perspective dialog

You can now see the description for a perspective (if provided by the contributing plug-in) by pressing F2 in the Open Perspective dialog.

open perspective dialog description

Improved string matching in Quick Access

You can now search for partial descriptions in Quick Access (Ctrl+3). The search result matches space-separated words in the search string. For example, searching for "clone repo", will match the "Clone a Git Repository" command.

quick access better string matching

The improved string matching works also in case of parenthesis, or when the search string matches the category name.

quick access better string matching extended

Filter previous choices in Quick Access

The Quick Access (Ctrl+3) result list does not show duplicate elements anymore. Now, if a search result element is already in the "Previous Choices" category, it is no longer shown in another category.

quick access filter previous choices

Window title configuration

The title window is now simpler and you can configure it from Preferences. By default the title displays workspace name, editor path and product name.

simplified window title

You can now use Preferences > Workspace to choose what to display in the window title: workspace name, perspective name, workspace path, and product name.

improved window title

"Launch Group" launch configuration type

The new Launch Group launch configuration type allows you to launch multiple other launch configurations sequentially, with configurable actions after launching each group member:

  • None: Continue launching the next member right away

  • Wait until terminated: Continue launching the next member only after this member has terminated

  • Delay: Delay launching the next member for a given amount of seconds.

launch groups

New launch groups can be created via the Run > Run Configurations…​ or Run > Debug Configurations…​ dialogs.

Consistent heap status colors under Linux

The heap status had poor contrast on Linux since GTK3.04. This has been resolved for the heap status to look consistent across all platforms.

heapstatusfix

Fixed Progress view colors for the dark theme

The Progress view has been adjusted for the Eclipse dark theme.

Before:

old progress view

After:

new progress view

Breakpoints view: Sort By > Creation Time

In the Breakpoints view’s view menu, a new Sort By option has been added. This allows sorting by two ways:

  • Name: Current default order, sorts by the displayed name

  • Creation Time: Newly created breakpoints will be shown on top

breakpoints sort by

Wildcards in Quick Access

You can now use * and ? as wildcards to filter Quick Access (Ctrl+3) items. The match ranges are displayed in bold.

quick access wildcard filter

Show/hide Status Bar

You can now hide and show the bottom status bar via menu: Window > Appearance > Hide (Show) Status Bar.

toggle status bar from menu

In Quick Access, the command is called Toggle Statusbar.

Improved Launch Groups

The UI for the new Launch Groups feature in the Run/Debug Configurations…​ dialog has been reworked to be more intuitive and user friendly. Also, additional configuration possibilities have been added:

  • 'Wait for console output (regexp)' post launch action: Allows to delay further processing of launch group elements until a certain output (matching a regular expression) appears on the console of the given group element.

  • 'Adopt launch if already running': Allows to control the behaviour of the group when the launch configuration referenced by the launch group element is already running (no matter who launched it). If checked, the launch configuration will not be launched again if it is running already. The existing launch will be adopted by the group (i.e. terminating the group will also terminate this launch). Any configured post launch action will still be executed!

improved launch groups

Content Assist for Feature Name in Model Editor

You can now use Ctrl+Space to trigger content assist when selecting the Feature Name in the Model Editor.

content assist model editor

Model Editor improvements

The elements proposed in the Add child menu are now filtered to a minimal list containing allowed elements only.

filter suggested elements

Generic editor can now read patch and diff files

An extension was provided to the generic editor so that it now can provide syntax highlighting for files with the .patch or .diff extension. Right-click the file and choose Open with > Generic Text Editor to see the editor in action.

patch diff editor

Improved exit and restart dialogs

The exit and restart dialogs now use verbs instead of OK/No/Yes, which makes the dialogs more direct and specific.

confirm exit dialog small
p2 restart dialog small

Support for extending existing CSS preference nodes

CSS definitions for preferences can now use pseudo selectors. This allows that other plug-ins extend preference CSS nodes, instead of overriding them. This makes the default Eclipse dark theme much more consistent and usable.

Example styling with EGit installed before this development:

code completion dark theme old
old search result hightlight color

Example styling with EGit installed after this development:

code completion dark theme new
new search result hightlight color

Option to copy your preferences during workspace switch

You can now copy your preferences during a switch to a new or existing workspace.

copy preferences ws switch

Option to disable Problems view decoration on startup

By default, the Problems view icon no longer shows an errors/warnings overlay after startup, unless the Problems view is on top of the view stack. To enable the errors/warnings overlay also if the Problems view is minimized or not on top, a new Show Problems view decorations on startup option has been added to Preferences > General > Startup and Shutdown. By default, this preference is disabled.

problems view startup preference

Ant 1.10.1

Eclipse has adopted Ant version 1.10.1.

Java Developement Tools (JDT)

Show JUnit failure trace in Console view

A new button has been added to the JUnit Failure Trace header to show the stack trace of a failed JUnit test in the Console view. The Console view makes it convenient to view a long and wide stack trace, copy parts of the stack trace and navigate to the classes on the stack trace using hyperlinks.

show junit failure trace in console view

Skip button in Organize Imports dialog

While using the Organize Imports dialog to import multiple unresolved types, you can now skip a type without cancelling the whole operation by using the new Skip button. No import statement is added for the skipped type.

skip button in organize imports dialog

Type name with extension in New Java Type creation wizards

New Java Type creation wizards now accept the .java extension with the type name instead of showing the error message: "Type name must not be qualified". For example, to create a new class com.test.C1<T>.java, you can directly paste this qualified type name with extension in the Name field of the New Java Class wizard.

type name with extension

Method result after step operations

During debugging, the last method result (per return or throw) that was observed during Step Into, Step Over or Step Return, is shown as first line in the Variables view.

step show methodresult

This can be disabled with the new option Preferences > Java > Debug > Show method result after a step operation (if supported by the VM; may be slow)

Triggers for breakpoints

You can now define a set of triggers for the breakpoints in a workspace

trigger breakpoint properties

Any breakpoint can be set as a trigger point by using Breakpoint Properties…​ dialog or the Breakpoints view’s detail pane.

trigger breakpoint view ruler

Triggers will be rendered with an overlay of "T" and the breakpoints suppressed by the triggers will be rendered with an overlay of "T" with a cut. All the other breakpoints that are initially suppressed by triggers will be hit only after any of the trigger points has been hit. All the triggers are disabled after a trigger point is hit and will be re-enabled after the run.

Remote Java Application "Socket Listen" type supports multiple incoming connections

The Remote Java Application debug configuration’s Standard (Socket Listen) connection type now supports incoming connections from multiple VMs. This is useful for debugging distributed systems. The connection limit may be set to a fixed number, or 0 for unlimited connections.

remote java listen conn limit

New option to disable HCR

You can now disable Hot Code Replace (HCR) if it causes any trouble or if you want to avoid code changes in a debug target. HCR is enabled by default but can be disabled in Preferences > Java > Debug.

option disable hcr

Escape text when pasting into a string literal

The Java > Editor > Typing > Escape text when pasting into a string literal preference option is now enabled by default. This will escape the special characters in pasted strings when they are pasted into an existing string literal.

escape text when pasting

To paste without escaping, you can either paste outside of a string literal, or you can disable Edit > Smart Insert Mode.

Set colors for Javadoc

You can use the new color preferences to set the foreground text color and the background color in the Javadoc view and hovers:

javadoc colors

Hide inherited members from java.lang.Object

You can hide all inherited members from java.lang.Object in the Quick Outline (Ctrl+O) by using the new filter from the drop-down menu (Ctrl+F10):

hide inherited object members

New Java index

Eclipse Oxygen contains an experimental new Java index which is enabled by default. If you suspect an index-related problem, you can disable the new index from Preferences > Java:

new java index

Currently, the new index shouldn’t affect your experience. Once the work is finished, we expect big performance improvements for type hierarchies and in scenarios with many JARs.

Consistent Javadoc colors usage under Linux

The Javadoc color usage on Linux was inconsistent since GTK 3.04. This has been resolved and support for Javadoc on the Eclipse Dark Theme has been added.

Before:

javadocbefore

After:

javadocafter

Dark theme support:

javadocdarktheme

Open Implementation of selected Type

The Open Implementation hyperlink and the Navigate > Open Implementation action now open the implementation of the selected interface or class also. In the past, Open Implementation was only available for methods.

open implementation of type

The hyperlink popup shows up when you hold Ctrl (on the Mac: Command), unless you’ve changed the modifier on the Hyperlinking preference page.

Automatically insert Braces at correct position

The Java > Editor > Typing > Automatically insert at correct position > Braces preference option is now enabled by default. This will automatically insert the braces where they are required.

auto insert braces

Quick Fix to move type annotations

The rules for the placement of Java 8 "type annotations" introduced via JSR 308 are sometimes surprising. In case of errors, a new Quick Fix Move type annotation is offered, that moves the type annotation to a location that corresponds to what was probably intended.

quickfix move type annotation

Toggle Tracepoint

A new action Run > Toggle Tracepoint has been added.

toggle trace point run

The action creates a conditional breakpoint using the "systrace" template, which prints the class and method name.

toggle trace point conditional breakpoint

This makes use of another new feature of conditional breakpoints: As long as the condition doesn’t explicitly return a boolean true, the condition is now considered to implicitly return false, and the breakpoint will not suspend execution.

HiDPI JDT icons

Composite icons such as Java element icons with modifier overlays are now rendered in high resolution in environments that support HiDPI images.

jdt composite images hidpi

Warnings for unlikely argument types

Many developers have learned the hard way, that certain uses of Java collections that pass the compiler’s type check, may still contain "type errors", resulting in unexpected runtime behaviour. A new analysis has been added to the Eclipse compiler for Java that will detect the most common bugs in this area.

The common reason behind this problem is the fact that not all methods of those collection types make use of generics in the way one might expect. As a result it is possible to create a Set<Short>, whose add(Short) method will only accept arguments of type Short, yet method remove(Object) will happily accept literally any argument, because the method’s parameter has type Object.

Here is a code snippet that seems to add and remove the same element from the set, but at a closer look the remove call has no effect. What is difficult to see for the naked eye is now flagged by a new warning:

unlikely1 basic

In a simple world, this would be all there is to say, but over time people have developed various code patterns that rely on these overly general signatures. Consider the following use of subtyping:

unlikely2 number allowed

Depending on your coding style this may or may not be accepted as a legitimate short hand for:

if (n instanceof Short) set.remove((Short) n);

To reduce the churn caused by the new analysis, we developed some heuristics that filter out cases where types are "sufficiently similar", so the above goes unwarned.

As with any heuristic, there is no clear line. This implies that the compiler may show "unwanted" warnings, or filter out invocations that are in fact bugs. For the former case, @SuppressWarnings("unlikely-arg-type") will document the exception both for the user and for the compiler. For the latter case, we provide an option to tighten the rules, namely to apply strict type compatibility checks instead of said heuristics. For this extra scrutiny you may enable the sub-option Perform strict analysis against the expected type in Preferences > Java > Compiler > Errors/Warnings > Potential programming problems.

unlikely3 options

Similarly, a check with default severity "Info" is offered for unlikely invocations of java.lang.Object.equals(Object) and java.util.Objects.equals(Object,Object).

unlikely5 equals

Conditional watchpoint

Like for line breakpoints, conditions can now also be added to Watchpoints, where the old value of the field can be used as part of the condition.

watchpoint condition

Code formatter: new way to count comment width

A new option has been added in the code formatter profile editor that makes the formatter count a comment’s width from its starting position instead of the beginning of the line. This allows more space for comments in heavily indented blocks of code and for line comments added to the right of some code, but at the same time keeps comments that start at the beginning of the line from getting too wide and uncomfortable to read. You can change this setting in the Comments section, under the Line width group:

formatter comment width ui
formatter comment width preview

Hide deprecated fields and methods

You can now hide the deprecated fields and methods in Outline view, Members view, Package Explorer view, Project Explorer view, and Quick Outline by using the new filter from their drop-down menu (Ctrl+F10):

hide deprecated fields and methods

Group by Project in Search view

The default grouping of Java search results in the Search view has been changed to Group by Project. Earlier the results were grouped by package.

group by project in search view

Defaults for annotation type elements in Javadoc

The default value of an annotation type element is now shown in the Javadoc view and hover.

defaults for annotation type elements in javadoc

Show Logical Structure enabled by default

In the Variables view, Show Logical Structure is now enabled by default. E.g. collection objects now directly show their contained elements instead of their internal structure.

jdt debug show logical structure by default

The Show Logical Structure context menu lets you choose or edit the representation.

jdt debug edit logical structure context menu

Pass compiler options to annotation processors

You can now pass compiler options to annotation processors using %variable% syntax in Project > Properties > Java Compiler > Annotation Processing.

jdt apt processor option variables

This allows processors to compile Java sources using the Java project’s settings without manually maintaining this information in the processor options.

And more…​

You can find more noteworthy updates in on this page.

What is next?

Having JBoss Tools 4.5 and Developer Studio 11.0 out we are already working on the next maintenance release for Eclipse Oxygen.

Enjoy!

Jeff Maury

Are you a user of JBoss Tools or Red Hat JBoss Developer Studio? If so, the documentation team would love to hear from you!

We’ve created a very brief survey that should only take a few minutes of your time. This survey is about the documentation for JBoss Developer Studio and asks users about what sort of things are useful and effective in the documentation as well as what we could be doing better.

If you have a few minutes to spare, we would appreciate your thoughts. All results are completely anonymous (unless you choose to leave your details to be contacted for further feedback in the future). Click the following link for the survey:

For any other thoughts, feel free to contact us at devtools-docs@redhat.com and we’ll be happy to hear any feedback you may have.

Thank you all for your time!
The Developer Tools Documentation Team

Try our complete Eclipse-Neon capable, Devstudio 10.4.0 compatible integration tooling.

jbosstools jbdevstudio blog header

JBoss Tools Integration Stack 4.4.3.Final / JBoss Developer Studio Integration Stack 10.3.0.GA

All of the Integration Stack components have been verified to work with the same dependencies as JBoss Tools 4.4 and Developer Studio 10.

What’s new for this release?

This release syncs up with Devstudio 10.4.0, JBoss Tools 4.4.4 and Eclipse Neon.3. It is also a maintenance release for Fuse Tooling, SwitchYard and the BRMS tooling.

Released Tooling Highlights

JBoss Fuse Development Highlights

Fuse Tooling Highlights

See the Fuse Tooling 9.2.0.Final Resolved Issues Section of the Integration Stack 10.3.0.GA release notes.

SwitchYard Highlights

See the SwitchYard 2.3.1.Final Resolved Issues Section of the Integration Stack 10.3.0.GA release notes.

JBoss Business Process and Rules Development

BPMN2 Modeler Known Issues

See the BPMN2 1.3.3.Final Known Issues Section of the Integration Stack 10.3.0.GA release notes.

Drools/jBPM6 Known Issues

Data Virtualization Highlights

Teiid Designer Known Issues

See the Teiid Designer 11.0.1.Final Resolved Issues Section of the Integration Stack 10.1.0.GA release notes.

What’s an Integration Stack?

Red Hat JBoss Developer Studio Integration Stack is a set of Eclipse-based development tools. It further enhances the IDE functionality provided by JBoss Developer Studio, with plug-ins specifically for use when developing for other Red Hat JBoss products. It’s where the Fuse Tooling, DataVirt Tooling and BRMS tooling is aggregated. The following frameworks are supported:

JBoss Fuse Development

  • Fuse Tooling - JBoss Fuse Development provides tooling for Red Hat JBoss Fuse. It features the latest versions of the Fuse Data Transformation tooling, Fuse Integration Services support, SwitchYard and access to the Fuse SAP Tool Suite.

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

JBoss Business Process and Rules Development

JBoss Business Process and Rules Development plug-ins provide design, debug and testing tooling for developing business processes for Red Hat JBoss BRMS and Red Hat JBoss BPM Suite.

  • 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 including KIE.

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

JBoss Data Virtualization Development

JBoss Data Virtualization Development plug-ins provide a graphical interface to manage various aspects of Red Hat JBoss Data Virtualization instances, including the ability to design virtual databases and interact with associated governance repositories.

  • 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

JBoss Integration and SOA Development plug-ins provide tooling for developing, configuring and deploying BRMS, SwitchYard and Fuse applications to Red Hat JBoss Fuse and Fuse Fabric containers, Apache ServiceMix, and Apache Karaf instances.

  • 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 JBoss Tools website features tab

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

Installation

The easiest way to install the Integration Stack components is through the stand-alone installer. If you’re interested specifically in Fuse we have the all-in-one installer JBoss Fuse Tooling + JBoss Fuse/Karaf runtime.

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

Give it a try!

Paul Leacu.

JBoss Tools 4.4.4 and Red Hat JBoss Developer Studio 10.4 for Eclipse Neon.3 are here waiting for you. Check it out!

devstudio10

Installation

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

java -jar 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.6.3 (Neon.3) but we recommend using the latest Eclipse 4.6.3 Neon 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.

http://download.jboss.org/jbosstools/neon/stable/updates/

What is new?

Our main focus for this release was improvements for container based development and bug fixing.

Improved OpenShift 3 and Docker Tools

We continue to work on providing better experience for container based development in JBoss Tools and Developer Studio. Let’s go through a few interesting updates here.

OpenShift Server Adapter enhanced flexibility

OpenShift server adapter is a great tool that allows developers to synchronize local changes in the Eclipse workspace with running pods in the OpenShift cluster. It also allows you to remote debug those pods when the server adapter is launched in Debug mode. The supported stacks are Java and NodeJS.

As pods are ephemeral OpenShift resources, the server adapter definition was based on an OpenShift service resource and the pods are then dynamically computed from the service selector.

This has a major drawback as it allows to use this feature only for pods that are part of a service, which may be logical for Web based applications as a route (and thus a service) is required in order to access the application.

So, it is now possible to create a server adapter from the following OpenShift resources:

  • service (as before)

  • deployment config

  • replication controller

  • pod

If a server adapter is created from a pod, it will be created from the associated OpenShift resource, in the preferred order:

  • service

  • deployment config

  • replication controller

As the OpenShift explorer used to display OpenShift resources that were linked to a service, it has been enhanced as well. It now displays resources linked to a deployment config or replication controller. Here is an example of a deployment with no service ie a deployment config:

server adapter enhanced

So, as an OpenShift server adapter can be created from different kind of resources, the kind of associated resource is displayed when creating the OpenShift server adapter:

server adapter enhanced1

Once created, the kind of OpenShift resource adapter is also displayed in the Servers view:

server adapter enhanced2

This information is also available from the server editor:

server adapter enhanced3

Security vulnerability fixed in certificate validation database

When you use the OpenShift tooling to connect to an OpenShift API server, the certificate of the OpenShift API server is first validated. If the issuer authority is a known one, then the connection is then established. If the issuer is an unknown one, a validation dialog is first shown to the user with the details of the OpenShift API server certificate as well as the details of the issuer authority. If the user accepts it, then the connection is established. There is also an option to store the certificate in a database so that next time a connection is attempted to the same OpenShift API server, then the certificate will be considered valid an no validation dialog will be show again.

certificate validation dialog

We found a security vulnerability as the certificate was wrongly stored: it was partially stored (not all attributes were stored) so we may interpret a different certificate as validated where it should not.

We had to change the format of the certificate database. As the certificates stored in the previous database were not entirelly stored, there was no way to provide a migration path. As a result, after the upgrade, the certificate database will be empty. So if you had previously accepted some certificates, then you need to accept them again and fill the certificate database again.

CDK 3 Server Adapter

The CDK 3 server adapter has been here for quite a long time. It used to be Tech Preview as CDK 3 was not officially released. It is now officially available. While the server adapter itself has limited functionality, it is able to start and stop the CDK virtual machine via its minishift binary. Simply hit Ctrl+3 (Cmd+3 on OSX) and type CDK, that will bring up a command to setup and/or launch the CDK server adapter. You should see the old CDK 2 server adapter along with the new CDK 3 one (labeled Red Hat Container Development Kit 3).

cdk3 server adapter5

All you have to do is set the credentials for your Red Hat account and the location of the CDK’s minishift binary file and the type of virtualization hypervisor.

cdk3 server adapter1

Once you’re finished, a new CDK Server adapter will then be created and visible in the Servers view.

cdk3 server adapter2

Once the server is started, Docker and OpenShift connections should appear in their respective views, allowing the user to quickly create a new Openshift application and begin developing their AwesomeApp in a highly-replicable environment.

cdk3 server adapter3
cdk3 server adapter4

OpenShift Container Platform 3.5 support

OpenShift Container Platform (OCP) 3.5 has been announced by Red Hat. JBossTools 4.4.4.Final has been validated against OCP 3.5.

OpenShift server adapter extensibility

The OpenShift server adapter had long support for EAP/Wildfly and NodeJS based deployments. It turns out that it does a great deal of synchronizing local workspace changes to remote deployments on OpenShift which have been standardized through images metadata (labels). But each runtime has its own specific. As an example, Wildfly/EAP deployments requires that a re-deploy trigger is sent after the files have been synchronized.

In order to reduce the technical debt and allow support for other runtimes (lots of them in the microservice world), we have refactored the OpenShift server adapter so that each runtime specific is now isolated and that it will be easy and safe to add support for new runtime.

For a full in-depth description, see the following wiki page.

Pipeline builds support

Pipeline based builds are now supported by the OpenShift tooling. When creating an application, if using a template, if one of the builds is based on pipeline, you can view the detail of the pipeline:

pipeline wizard

When your application is deployed, you can see the details of the build configuration for the pipeline based builds:

pipeline details

More to come as we are improving the pipeline support in the OpenShift tooling.

Update of Docker Client

The level of the underlying com.spotify.docker.client plug-in used to access the Docker daemon has been upgraded to 3.6.8.

Run Image Network Support

A new page has been added to the Docker Run Image Wizard and Docker Run Image Launch configuration that allows the end-user to specify the network mode to use. A user can choose from Default, Bridge, Host, None, Container, or Other. If Container is selected, the user must choose from an active Container to use the same network mode. If Other is specified, a named network can be specified.

Network Mode
Network Mode Configuration

Refresh Connection

Users can now refresh the entire connection from the Docker Explorer View. Refresh can be performed two ways:

  1. using the right-click context menu from the Connection

  2. using the Refresh menu button when the Connection is selected

Refresh Connection

Server Tools

API Change in JMX UI’s New Connection Wizard

While hardly something most users will care about, extenders may need to be aware that the API for adding connection types to the 'New JMX Connection' wizard in the 'JMX Navigator' has changed. Specifically, the 'org.jboss.tools.jmx.ui.providerUI' extension point has been changed. While previously having a child element called 'wizardPage', it now requires a 'wizardFragment'.

A 'wizardFragment' is part of the 'TaskWizard' framework first used in WTP’s ServerTools, which has, for a many years, been used throughout JBossTools. This framework allows wizard workflows where the set of pages to be displayed can change based on what selections are made on previous pages.

This change was made as a direct result of a bug caused by the addition of the Jolokia connection type in which some standard workflows could no longer be completed.

This change only affects adopters and extenders, and should have no noticable change for the user, other than that the below bug has been fixed.

Hibernate Tools

Hibernate Runtime Provider Updates

A number of additions and updates have been performed on the available Hibernate runtime providers.

Hibernate Runtime Provider Updates

The Hibernate 5.0 runtime provider now incorporates Hibernate Core version 5.0.12.Final and Hibernate Tools version 5.0.5.Final.

The Hibernate 5.1 runtime provider now incorporates Hibernate Core version 5.1.4.Final and Hibernate Tools version 5.1.3.Final.

The Hibernate 5.2 runtime provider now incorporates Hibernate Core version 5.2.8.Final and Hibernate Tools version 5.2.2.Final.

Forge Tools

Forge Runtime updated to 3.6.1.Final

The included Forge runtime is now 3.6.1.Final. Read the official announcement here.

startup

What is next?

Having JBoss Tools 4.4.4 and Developer Studio 10.4 out we are already working on the next release for Eclipse Oxygen.

Enjoy!

Jeff Maury

JBoss Tools 4.29.0.Final for Eclipse 2023-09

by Stéphane Bouchet on Nov 02, 2023.

JBoss Tools 4.28.0.Final for Eclipse 2023-06

by Stéphane Bouchet on Jul 03, 2023.

JBoss Tools for Eclipse 2023-06M2

by Stéphane Bouchet on Jun 05, 2023.

JBoss Tools 4.27.0.Final for Eclipse 2023-03

by Stéphane Bouchet on Apr 07, 2023.

JBoss Tools for Eclipse 2023-03M3

by Stéphane Bouchet on Mar 10, 2023.

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