Java applications running in traditional Java Enterprise Edition environments are not well suited for cloud environments.
The application server start-up time are quite high, usually above one minute, and the memory footprint required is high. Often, they require complex cluster configuration.
This is not compatible with scale-up and scale-down concepts introduced in the cloud.