Announcement Announcement Module
No announcement yet.
A Messy Stew Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • A Messy Stew

    Hi all,

    I have a JSF application using Spring/Hibernate that runs on OAS/OC4J. Here is the mixture of technologies:

    Apache MyFaces 1.1.5
    Tomahawk 1.1.6
    Richfaces 3.1.6.GA
    Spring 2.5.5
    Hibernate 3.2.1
    Facelets 1.1.14

    I am trying to annotate one of my JSF managed beans for registration on the OC4J JMX MBean server, using Spring as the glue. The application starts up, and I see output from Spring saying 'applicationController' has been registered with the MBean server. However, when I try to view the MBean in the OC4J Admin Console, or view all the MBeans for the application, I see nothing, or I get an InvocationTargetException with no stack trace in the log output.

    WARNING Caught exception: java.lang.reflect.InvocationTargetException.

    Here is an excerpt of my Spring applicationContext.xml:
    	<bean id="nterMBeanFactory" class="">
    		<property name="defaultDomain" value="nternet"/>
    	<bean id="nterMBeanExporter" class="org.springframework.jmx.export.MBeanExporter">
    		<property name="server" ref="nterMBeanFactory"/>
    		<property name="autodetect" value="true"/>
    	        <property name="assembler" ref="assembler"/>
    	        <property name="namingStrategy" ref="namingStrategy"/>
    	<bean id="annotationJmxAttributeSource"
    	<bean id="namingStrategy"
                <property name="attributeSource" ref="annotationJmxAttributeSource"/>
    	<bean id="assembler" class="org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler">
    	    <property name="attributeSource" ref="annotationJmxAttributeSource"/>
    Here is an example of the annotations in my managed bean class:

    &#64;ManagedResource(objectName="bean:name=ApplicationController", description="Application-Scope JSF Managed Bean")
    public class ApplicationController extends BaseController implements IInternetContentConstants {
        // ************************************************************************************************
        // JSF Action methods
        // ************************************************************************************************
        &#64;ManagedOperation(description="Refresh the Menu Structure")
        public String refreshWebAppMenu() {
            return "";
        &#64;ManagedOperation(description="Refresh the Store Locations Information")
        public String refreshLocationList() {
            return "";
    I am unable to determine what the source of the error is, but I know OC4J is basically a piece of crap and doesn't play nice with lots of technology tools. I consider it practically a miracle I was able to get this application to run reliably in the first place, but want to get some JMX capabilities in there for obvious reasons.

    Anyone have any insight?