I tried to disable jmx authentication on servicemix. And I use the following configuration in applicationContext :
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> </bean> <bean name="server" class="org.springframework.jmx.support.MBeanServerConnectionFactoryBean"> <property name="serviceUrl" value="service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi" /> </bean> <bean id="jmxProxy" abstract="true" class="org.springframework.jmx.access.MBeanProxyFactoryBean"> <property name="server" ref="server" /> </bean> <bean id="jdbcAuditorMBean" parent="jmxProxy"> <property name="objectName" value="org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=JdbcAuditor" /> <property name="proxyInterface" value="org.apache.servicemix.jbi.audit.AuditorMBean" /> </bean> <bean id="adminCommandsServiceMBean" parent="jmxProxy"> <property name="objectName" value="org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=AdminCommandsService" /> <property name="proxyInterface" value="org.apache.servicemix.jbi.framework.AdminCommandsServiceMBean" /> </bean> <bean id="registryMBean" parent="jmxProxy"> <property name="objectName" value="org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=Registry" /> <property name="proxyInterface" value="org.apache.servicemix.jbi.framework.RegistryMBean" /> </bean> <bean id="dotViewServiceMBean" parent="jmxProxy"> <property name="objectName" value="org.apache.servicemix:ContainerName=ServiceMix,Type=SystemService,Name=DotViewService" /> <property name="proxyInterface" value="org.apache.servicemix.jbi.view.DotViewServiceMBean" /> </bean> <bean id="proxyManager" class="org.apache.servicemix.web.model.ProxyManager"> <constructor-arg ref="server" /> </bean> <bean id="registry" class="org.apache.servicemix.web.model.Registry"> <constructor-arg ref="proxyManager" /> <constructor-arg ref="registryMBean" /> </bean> <bean id="auditor" class="org.apache.servicemix.web.Auditor" scope="prototype"> <constructor-arg ref="jdbcAuditorMBean" /> </bean> <bean id="components" factory-bean="registry" factory-method="getComponents" scope="prototype" /> <bean id="endpoints" factory-bean="registry" factory-method="getEndpoints" scope="prototype" /> <bean id="serviceAssemblies" factory-bean="registry" factory-method="getServiceAssemblies" scope="prototype" /> <bean id="serviceUnits" factory-bean="registry" factory-method="getServiceUnits" scope="prototype" /> <bean id="sharedLibraries" factory-bean="registry" factory-method="getSharedLibraries" scope="prototype" /> <bean id="component" class="org.apache.servicemix.web.ComponentFactoryBean"> <property name="registry" ref="registry" /> </bean> <bean id="endpoint" class="org.apache.servicemix.web.EndpointFactoryBean"> <property name="registry" ref="registry" /> </bean> <bean id="serviceUnit" class="org.apache.servicemix.web.ServiceUnitFactoryBean"> <property name="registry" ref="registry" /> </bean> <bean id="serviceAssembly" class="org.apache.servicemix.web.ServiceAssemblyFactoryBean"> <property name="registry" ref="registry" /> </bean> <bean id="sharedLibrary" class="org.apache.servicemix.web.SharedLibraryFactoryBean"> <property name="registry" ref="registry" /> </bean> </beans> Then the webapp starts without error, but when I choose a link in the menu, I still have an error like : ERROR - [jsp] - "Servlet.service()" pour la servlet jsp a généré une exception org.springframework.jmx.access.InvalidInvocationException: Attribute 'componentNames' is not exposed on the management interface at org.springframework.jmx.access.MBeanClientInterceptor.invokeAttribute(MBeanClientInterceptor.java:322) at org.springframework.jmx.access.MBeanClientInterceptor.invoke(MBeanClientInterceptor.java:299) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy2.getComponentNames(Unknown Source) at org.apache.servicemix.web.model.Registry.getComponents(Registry.java:43) 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.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:118) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:332) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:782) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:709) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:384) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:270) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:733) at org.apache.servicemix.web.filter.ApplicationContextFilter$2.get(ApplicationContextFilter.java:157) at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:218) at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145) at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263) at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190) at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:919) at org.apache.jsp.components_jsp._jspx_meth_c_forEach_0(org.apache.jsp.components_jsp:122) at org.apache.jsp.components_jsp._jspService(org.apache.jsp.components_jsp:91) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.servicemix.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) 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.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 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:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) I don't understand why! Any idea?.... Keeg2 wrote: > > Hello, > > I'm trying to deploy the webapp Service web from > apache-servicemix-web-3.2.war archive. > > I would this application point to a remonte standalone servicemix > instance. So I replaced in applicationContext.xml the following : > > <bean id="jmxProxy" abstract="true" > class="org.springframework.jmx.access.MBeanProxyFactoryBean"> > <property name="server" ref="server"/> > <property name="useStrictCasing" value="false" /> > <property name="connectOnStartup" value="false" /> > </bean> > > by : > > <bean id="busConnector" > class="org.springframework.jmx.support.MBeanServerConnectionFactoryBean"> > <property name="serviceUrl" > value="service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi" /> > <property name="environment"> > <map> > <entry key="jmx-username" value="smx"/> > <entry key="jmx-password" value="smx"/> > </map> > </property> > </bean> > > <bean id="jmxProxy" > class="org.springframework.jmx.access.MBeanProxyFactoryBean"> > <property name="objectName" value="bean:name=testBean1" /> > <property name="proxyInterface" > value="java.lang.management.MemoryMXBean"/> > <property name="server" ref="busConnector" /> > </bean> > > But I have this error : > > ERROR - ContextLoader - Context initialization failed > org.springframework.beans.factory.BeanCreationException: Error creating > bean with name 'busConnector' defined in ServletContext resource > [/WEB-INF/applicationContext.xml]: Invocation of init method failed; > nested exception is java.lang.IllegalArgumentException: Expected > String[2], got null > Caused by: > java.lang.IllegalArgumentException: Expected String[2], got null > at > org.apache.servicemix.jbi.jmx.JaasAuthenticator.authenticate(JaasAuthenticator.java:73) > at > javax.management.remote.rmi.RMIServerImpl.doNewClient(RMIServerImpl.java:214) > at > javax.management.remote.rmi.RMIServerImpl.newClient(RMIServerImpl.java:181) > 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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294) > at sun.rmi.transport.Transport$1.run(Transport.java:153) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:149) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707) > at java.lang.Thread.run(Thread.java:595) > at > sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247) > at > sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223) > at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126) > at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown > Source) > at > javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2239) > at > javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:271) > at > javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248) > at > org.springframework.jmx.support.MBeanServerConnectionFactoryBean.connect(MBeanServerConnectionFactoryBean.java:126) > at > org.springframework.jmx.support.MBeanServerConnectionFactoryBean.afterPropertiesSet(MBeanServerConnectionFactoryBean.java:114) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1201) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1171) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425) > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) > at > org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244) > at > org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187) > at > org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3669) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4104) > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442) > at > org.apache.catalina.core.StandardService.start(StandardService.java:450) > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:683) > at org.apache.catalina.startup.Catalina.start(Catalina.java:537) > 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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409) > > > I think that I have an authentication failure, but I can't fix it. > > How can I pass an authentication to the > org.springframework.jmx.support.MBeanServerConnectionFactoryBean class? (I > tryed with "principal" and "credentials" instead of "jmx-user" and > "jmx-password", and I had the same error). > > > Thanks for reply. > -- View this message in context: http://www.nabble.com/Servicemix-web-deployment-tf4943470s12049.html#a14177301 Sent from the ServiceMix - User mailing list archive at Nabble.com.
