[jboss-jira] [JBoss JIRA] Updated: (JBAS-3962) XMBean persistence and JRMPProxyFactory failing together

Ralf Zimmermann (JIRA) jira-events at jboss.com
Fri Dec 22 04:53:03 EST 2006


     [ http://jira.jboss.com/jira/browse/JBAS-3962?page=all ]

Ralf Zimmermann updated JBAS-3962:
----------------------------------

    Attachment: test.war

Test web application. Deploy test.war and the modified persistence-example.sar to the default configuration of Jboss 4.0.5.GA. Open index.jsp to reproduce the error.

> XMBean persistence and JRMPProxyFactory failing together
> --------------------------------------------------------
>
>                 Key: JBAS-3962
>                 URL: http://jira.jboss.com/jira/browse/JBAS-3962
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: JMX
>    Affects Versions: JBossAS-4.0.5.GA, JBossAS-4.0.4.GA
>         Environment: Windows XP
>            Reporter: Ralf Zimmermann
>         Assigned To: Scott M Stark
>         Attachments: persistent-service.sar, test.war
>
>
> I modified the XMBean persitence example to add support fpr remote access via JNDI by adding the folowing to META-INF/jboss-service.xml
>  <!-- Proxy factory for MyService that will call invoke(Invocation mi) on the target service -->
>    <mbean code="org.jboss.invocation.jrmp.server.JRMPProxyFactory"
>       name="jboss.jmx:type=adaptor,name=MyService,protocol=jrmp,service=proxyFactory">
>       <!-- Use the standard JRMPInvoker from conf/jboss-service.xxml -->
>       <depends optional-attribute-name="InvokerName">jboss:service=invoker,type=jrmp</depends>
>       <!-- The target MBean -->
>       <depends optional-attribute-name="TargetName">jboss.jmx:service=PersistentServiceExample</depends>
>       <!-- Where to bind the proxy factory -->
>       <attribute name="JndiName">PersistentServiceExample</attribute>
>       <!-- Invoke invoke(Invocation mi) operation instead of the target method -->
>       <attribute name="InvokeTargetMethod">true</attribute>
>       <!-- MyService interface -->
>       <attribute name="ExportedInterfaces">org.jboss.jmx.examples.persistence.PersistentServiceExampleMBean</attribute>
>       <attribute name="ClientInterceptors">
>           <interceptors>
>              <interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>
>              <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
>              <interceptor>org.jboss.jmx.connector.invoker.client.InvokerAdaptorClientInterceptor</interceptor>
>              <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
>           </interceptors>
>       </attribute>
>    </mbean>
> If i try to access methods on the proxy object from within a web application I get the followin exception:
> java.lang.IllegalArgumentException: Unable to find operation getSomeString()
>         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:231)
>         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>         at org.jboss.invocation.jrmp.server.JRMPProxyFactory.invoke(JRMPProxyFactory.java:175)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
>         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
>         at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
>         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
>         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>         at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
>         at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
>         at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)
>         at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)
>         at org.jboss.jmx.connector.invoker.client.InvokerAdaptorClientInterceptor.invoke(InvokerAdaptorClientInterceptor.java:66)
>         at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
>         at org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:74)
>         at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
>         at $Proxy54.getSomeString(Unknown Source)
>         at org.apache.jsp.index_jsp._jspService(index_jsp.java:48)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) 
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
>         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
>         at java.lang.Thread.run(Thread.java:595)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list