I see a new behaviour with VFS3 in JBoss AS. Earlier in AS-5/6 (with
VFS2) and AS-4 (without any VFS), to try out some quick fixes, i used to
rename existing jar files to end with .bak name and replace them with
the new patched jar file. So for example, if i had a fix in
jboss-ejb3-core.jar, i would:
1) Rename the JBOSS_HOME/common/lib/jboss-ejb3-core.jar to
2) Place a patched jboss-ejb3-core.jar in JBOSS_HOME/common/lib
3) Restart the server
The server would then pickup the new patched jar file and ignore the
.bak file. After testing the fix, i would then revert back to the
original jar file by renaming it back to its original name.
However, with the recent upgrade to VFS3 in AS trunk, i notice that even
the .bak is used for classloading (following is the output from
-verbose:class JVM argument):
[Loaded org.jboss.ejb3.EJBContainer from
Looks like VFS3 picks up this non .jar suffix file for classloading. Is
this expected? Shouldn't it be looking for only .jar files (atleast in
I have been doing some work on profiling and optimizing the jboss-dependency project  for kernel 2.2.0.Alpha6 and it seems to have had a small, but still measurable impact :-)
I did a few startups of AS with jboss kernel 2.2.0.Alpha5 and with a local snapshot. This snapshot contains the work done for Alpha6 with the addition of removing the break in the resolveContexts loop as mentioned in the forum thread.
The startups were done on a freshly rebooted machine with nothing else running. The startup orders are given in brackets, so I started Alpha5 twice, then SNAPSHOT twice and so on.
One strange thing is that the first time I started each server they took loads longer than the other times, does somebody know the reason for that?
Ignoring those initial times leaves me with average start times of:
I'm going to have a final look at jboss-dependency to see if there are any other obvious and easy fixes before moving on to have a look at jboss-kernel.
"remove xb.builder.useUnorderedSequence=true from AS run scripts"
A couple of bound classes that need to be fixed:
There are a number of XML files that will fail to parse because they are
not consistent with their schema (the list is below). Perhaps we should
add tests in the testsuite similar to XmlValidationUnitTestCase which
validates testsuite deployment descriptors.
But they are easy to fix (most common error is incallback elements
appear after property elements). If there are no objects I can fix these.
The 3.12.0.GA release of javassist which was tagged last Friday has
finally been deployed to the new jboss maven repository. Release notes
are included below.
Release Notes - Javassist - Version 3.12.0.GA
* [JASSIST-42] - Proxy serialization loses inner data objects
* [JASSIST-85] - IllegalAccessError when trying to call clone() on
a class generated by ProxyFactory
* [JASSIST-89] - The implementation of isInheritable() in
CtNewClass is wrong.
* [JASSIST-94] - Typos in ParameterAnnotationsAttribute javadoc
* [JASSIST-97] - Javassist doesn't serialize the handler along with
* [JASSIST-98] - javassist appears to be iinstalling invalid local
* [JASSIST-99] - Javassist causes java.lang.ClassFormatError:
Invalid length 561 in LocalVariableTable in class file
* [JASSIST-102] - Bug report for CtNewMethod.copy
* [JASSIST-104] - Proxy cache fails to guard against circular
references which inhibits GC of classloaders
* [JASSIST-110] - CtClassType.isModified does not check for edited
attributes in the ClassFile
* [JASSIST-111] - AnnotationMemberValue fails if a member is an array
* [JASSIST-113] - Possible regression in ProxyFactory.createClass()
when super interface is non-public
** Feature Request
* [JASSIST-95] - StackMap attribute of J2ME CLDC1.1
* [JASSIST-105] - Add ClassFile.JAVA_7
* [JASSIST-107] - Update pom and build script to support release of
instead of the way our JBoss AS distribution is structure now, why not
introduce the idea of maven-based booting and deployment?
Core components (specifically deployers, sars, really anything in the
JBoss domain) of a profile (default, minimal, all, etc.) would only
include bean.xml and other configuration files. Within beans.xml or a
different file, each deployment unit would specify its dependencies,
either through <dependency> elements, or a list of maven artifacts, i.e.
That way our distribution can be either very very tiny, just a zip of
text files that point to our maven repository. Or, very optimized, we
ship a maven repository with the distribution that shared between the
This could get very interesting over time. Deployment units could
delegate to the base AS for versioning, much like maven modules delegate
to a parent pom for dependency versions. We could automatically create
scoped deployments or issue warnings if base AS and the deployment unit
require different library versions, etc.
Just a thought...
JBoss, a division of Red Hat