One problem I'm seeing is that the system module needs to be split up into jmx vs
non-jmx based classes. If I try to run a minimal kernel that does not include any of the
jmx related jars (jboss-jmx.jar, jboss-j2se.jar, jboss-mbeans.jar, dom4j.jar) and only
bring these in via a JMXClassLoader associated with the SARDeployer:
| <!-- Load the jboss jmx classes -->
| <bean name="JMXClassLoader"
class="org.jboss.vfs.classloading.VFSClassLoader">
| <constructor
factoryClass="org.jboss.vfs.classloading.VFSClassLoaderFactory"
| factoryMethod="newClassLoader">
| <parameter
class="java.net.URL">${jboss.lib.url}</parameter>
| <parameter>
| <array class="[Ljava.lang.String;"
elementClass="java.lang.String">
| <value>dom4j.jar</value>
| <value>jboss-j2se.jar</value>
| <value>jboss-jmx.jar</value>
| <value>jboss-mbeans.jar</value>
| </array>
| </parameter>
| <parameter><inject bean="MainDeployer"
property="VFSFactory"/></parameter>
| </constructor>
| </bean>
| <bean name="SARDeployer"
class="org.jboss.deployment.SARDeployer">
| <classloader><inject
bean="JMXClassLoader"/></classloader>
| <property name="useNamespaceAwareParser">true</property>
| </bean>
|
this fails due to CNFE errors due to the SARDeployer being in the jboss-system.jar, which
is loaded by the ServerImpl bootstrap class loader. We should not have to go to a peer
repository class loading module just to be able to load the SARDeployer.
In reality we will want to if we want to allow interaction between mbean services and
kernel beans, but this should be a choice, not forced due to the legacy jmx dependencies
leaking into the jboss-system.jar. I want to break the system module into a system and
system-jmx module to clean this up.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3963188#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...