Showing posts with label java. Show all posts
Showing posts with label java. Show all posts

Thursday, August 22, 2013

JRebel is great but what to do when you application is not a "typical" one.

I find JRebel a great tool. It may save you some/a lot of time depending on your scenario. There are plugins that allows for on-the-fly reconfiguration of multiple aspects of your application. You can perform a complete makeover to you Java classes, JSP resource, IoC configuration, aspects - to name only few.
I have capture a screencast  for a very simple example. There are few beans that are dynamically reconfigured - as well as the logging configuration.

But what to do with more complex scenarios ? In the following posts (or post) I will try to share my observations on using  JRebel in a project that:

  • is developed by multiple developers (using varying tools while maven is common denominator)
  • has multi-modular structure and quite few lines of code,
  • has several builds modes (e.g. production, development, and testing artifacts with varying configurations are possible)
  • uses nasty maven tricks including resources filtering, profiles, conditional configuration, overlaying and many more,
  • allows for building different products from partially common code-base
For the moment I will tell you one thing: default configuration is not sufficient here. 

Wednesday, March 12, 2008

Reversing BEAST



I am exhausted :) Have you ever tried reverse java code using open source software (and also community editions of popular commercial tools) ?? Under Linux ? :D
Well, sometimes it works. And sometimes not necessarily.


BEAST is a cross-platform program for Bayesian MCMC analysis of molecular sequences.
This software package contains almost 800 java classes (and I don't mention classes from used jar libraries) It is about ~60000 LoC. And all written in Java 1.5 (OK, compiled against Java 1.5 shows more than 1500 warnings).

There is a number of problems with freeware software for java reverse engineering that make this tools useless when analysing blast. In many cases the problem is that they works only for Java <=1.4. Non of the tested tools was able to import whole source folder from BEAST and analyze it. In case of ArgoUML (which is still, in my opinion, the best open RE tool for Java 1.5) it failed after using all available for VM memory (yes, I've changed the default values). Now when I change my working model to so called "step-by-step" it works only with few complains.

So, what is the alternative? Commercial license. And believe me I am actually close to make this choice. But who will guarantee that money spent on license solves the problem?

Later on I will give chance Eclipse + UML2. I know I should start with Eclipse (as always), but nobody's perfect :).