I Would Like Better AppServer Support in Intellij IDEA

Believe it or not, but I’ve been using Intellij IDEA for more than 10 years (I think it was back in 2003) and I love it ! Because of that, at each conference I go, I usually pay a visit to the JetBrains booth and chat with the guys. Mostly to tell them how good their products are, but also to give them some ideas about possible improvements (I’ve already told them that using Intellij IDEA on Mac OSX with a French keyboard is a real drag). So last time I was at Devoxx UK I talked with Hadi Hariri about how to get better application server support within the IDE (let’s say WildFly). He asked me to send him an email… so I wrote this blog.

AppServer Support in Intellij IDEA

At the moment Intellij IDEA has good support for most application servers in these areas :

  • Servers management (starting and stopping local and remote server instances)
  • Debugging of Java and JSP files with breakpoints, step-by-step execution, evaluating expressions, etc.
  • Automatic deployment and removal of Web, JavaEE, and EJB modules to and from supported servers.

In terms of GUI it’s split between a couple of screens allowing you to visualize the server logs, stop/start/redeploy. The Run/Debug screen (below) allows you to start/stop the app server, deploy/undeploy/refresh the artifact :

Intellij IDEA Run screen

The Application Server screen is a bit disappointing as it doesn’t give much more :

Intellij IDEA Application Server screen

 

There are plenty of features I would like to see, but let’s check app server support in both Eclipse and NetBeans.

AppServer Support in Eclipse

The Eclipse Servers screen brings more functionality than Intellij IDEA. Of course it has run/debug/deploy/undeploy features, but it brings a few extra information that are nice to have.

First of all, I can see the content of my artifact (an ear file in this case). I can right click on it and view it in the File Browser (which is handy when you quickly want to hack some files). You can also quickly see in which port the server is listening to (here 9999 and 8080) and best of all, you have direct access to the configuration file (here the standalone.xml). Right click on it, edit the file, change bits and pieces, save the content and redeploy you app. Very handy.

Eclipse Server screen

AppServer Support in NetBeans

NetBeans has great support for GlassFish. Like all the other IDEs you can start/stop your app server, deploy/undeploy your artifact. But it also gives you some information about the deployed resources.

In the Services screen you can visualize the deployed JDBC datasources, connection pools, JMS connection factories and destinations. You only have read access to this information.

netbeansappserver

 

What new features would you like to see in Intellij IDEA?

In my point of view, Intellij IDEA could improve its app server support to be as good as the others, or even better. This is what I would like to have in Intellij IDEA:

  • Start an app server without deploying any artifact (this way I could easily start the server and check the admin console)
  • Like in Eclipse, visualize the content of deployed artifact and view it on the file browser
  • Visualize port and change them (this way I could easily start several servers with different ports)
  • Have direct access to the configuration file (like the standalone.xml) and be able to change the content and save it
  • Visualize the deployed resources (datasource, JMS destinations…) using JMX to be portable

And you, what features would you like to have in Intellij Idea ?

References

One thought on “I Would Like Better AppServer Support in Intellij IDEA

  1. Actually, starting up a server without deploying any artifact is possible already now, isn’t it? You jut don’t have to specify the deployment artifact – that’s it, IDEA will start the server without deploying anything.

Leave a Reply