DeploymentScanner timeouts on OpenShift JBoss AS7

I haven’t seen this error often on the hosted OpenShift service (only occasionally when there’d been a system update and your app doesn’t redeploy correctly once restarted), but running OpenShift Origin locally I was seeing this consistently trying to deploy a new application:

2012/07/25 15:00:24,158 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015052: Did not receive a response to the deployment operation within the allowed timeout period [60 seconds]. Check the server configuration file and the server logs to find more about the status of the deployment.
2012/07/25 15:00:24,160 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "ROOT.war" was rolled back with failure message Operation cancelled

To increase the deployment scanner’s timeout setting, edit your project’s .openshift/config/standalone.xml, and find the deployment-scanner element:

<subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
            <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" />
        </subsystem>

…and then add this attribute to <deployment-scanner> :

deployment-timeout="1200"

The XSD schema for this element says the default value is 600 second, but the error above says it’s timing out after 60 seconds. Assuming the default value is 600, I doubled it, and this fixed my timeout issues.

Controlling Services on Fedora

Fedora uses the servicectl utility to enable/disable and control services.

To use:

sudo servicectl status servicename
sudo servicectl enable/disable servicename
sudo servicectl start|stop servicename

Java 8 will ship without Project Jigsaw, modular dependencies for the Java platform

Around this time two years ago, Oracle gave the Java community two options for the upcoming Java 7 release, Plan A and Plan B, which looked something like this:

Plan A: JDK 7 (as currently defined) Mid 2012
Plan B: JDK 7 (minus Lambda, Jigsaw, and part of Coin) Mid 2011
        JDK 8 (Lambda, Jigsaw, the rest of Coin, ++) Late 2012

Oracle went with Plan B based on community feedback, and we got Java 7 earlier, just with a reduced list of changes.

Now we’re on the verge of seeing the release of Java 8, Oracle has some rather upsetting news that the major changes, namely Project Jigsaw (to introduce modular dependencies into the Java platform), will not be included in Java 8 after all.

I don’t want to see any product released before it’s ready, there’s no point shipping something if its half-baked. But with the Plan A/Plan B approach it seems somehow that we’ve been short-changed. We agreed to delay significant changes to a future release just to keep the new releases coming, and now we’re at the point where we should have received the most significant platform changes that were originally planned for Java 7, to be included in Java 8, and Oracle is telling us ‘sorry, they’re not ready’.  At this point one has to wonder where Oracle’s priorities are with Java, because it’s certainly not looking very promising right now.