JBoss recently announced that initial support for EJB 3.1 will be available in the upcoming JBoss 6.0 M2 application server.
At present, the EJB 3.1 functionality supported is:
- developing EJBs without declaring interfaces; and
- deploying EJBs in WAR files
Since JBoss AS 6.0 M2 isn’t currently available, the best way to get it to try out this new finctionality is to check the source out from the JBoss Subversion repository and build the application server.
Building JBoss AS 6.0 from the trunk is very straightforward to build. To checkout and build the code, you need to have Subversion and Maven installed on your development system.
The code can be checked out from the anonymous JBoss Subversion repository:
svn co http://anonsvn.jboss.org/repos/jbossas/trunk
After checking out (which may take up to an hour or more), the source can be built using the build/build.bat (build/build.sh) command or by using Maven.
> cd trunk\build
> mvn clean install
After about 10 minutes or so, you should have a snapshot build of the upcoming JBoss 6.0. The distrbution is placed in the build\target\jboss-6.0.0-SNAPSHOT directory.
> cd target\jboss-6.0.0-SNAPSHOT\bin
> run.bat
Calling E:\Develop\jboss6\trunk\build\target\jboss-6.0.0-SNAPSHOT\bin\run.conf.bat
===============================================================================JBoss Bootstrap Environment
JBOSS_HOME: E:\Develop\jboss6\trunk\build\target\jboss-6.0.0-SNAPSHOT
JAVA: C:\Program Files\Java\jdk1.6.0_18\bin\java
JAVA_OPTS: -Dprogram.name=run.bat -Xms128M -Xmx512M -XX:MaxPermSize=256M -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dorg.jboss.resolver.warning=true -server
CLASSPATH: C:\Program Files\Java\jdk1.6.0_18\lib\tools.jar;E:\Develop\jboss6\trunk\build\target\jboss-6.0.0-SNAPSHOT\bin\run.jar
===============================================================================
19:46:47,792 INFO [AbstractJBossASServerBase] Server Configuration:
JBOSS_HOME URL: file:/E:/Develop/jboss6/trunk/build/target/jboss-6.0.0-SNAPSHOT/
Bootstrap: $JBOSS_HOME\server/default/conf/bootstrap.xml
Common Base: $JBOSS_HOME\common/
Common Library: $JBOSS_HOME\common/lib/
Server Name: default
Server Base: $JBOSS_HOME\server/
Server Library: $JBOSS_HOME\server/default/lib/
Server Config: $JBOSS_HOME\server/default/conf/
Server Home: $JBOSS_HOME\server/default/
Server Data: $JBOSS_HOME\server/default/data
Server Log: $JBOSS_HOME\server/default/log/
Server Temp: $JBOSS_HOME\server/default/tmp19:46:47,855 INFO [AbstractServer] Starting: JBossAS [6.0.0.SNAPSHOT (build: SVNTag=JBoss_6.0.0-SNAPSHOT date=r99956)]
Did you mean to write “deploying EJBs in WAR files” instead of “deploying EJBs in EAR files”?
Yep I did – thats a bit of a big typo !! Thanks for spotting that – I’ve updated the post.
Isn’t it just as easy (if not easier) to grab a nightly snapshot of JBoss AS 6.0.x that is already compiled? http://hudson.jboss.org/hudson/view/JBoss%20AS/job/JBoss-AS-6.0.x/
Hi Dan, yes that’s certainly an easy way to get hold of JBoss also.
I personally prefer to download the source and compile it. I find that looking through the source and through the test cases of JBoss AS can be invaluable when trying to work out why something is/isn’t working.