Looks like
<!-- RMI registry -->
<sm:rmiRegistry id="rmiRegistry" create="false" locate="true"
port="1099" />
in jmx.xml works, but it breaks later on during webapp initialization:
java.io.IOException: Cannot bind to URL [rmi://localhost:1099/jmxrmi]:
javax.naming.CommunicationException [Root exception is
java.rmi.ConnectIOException: non-JRMP server at remote endpoint]
I suppose i need to configure the sm:jmxServer element in the same file,
if anyone has any clues...
Cheers,
Manos
Quoting Manos Batsis <[EMAIL PROTECTED]>:
>
> In servicemix-web, i also added createJmxConnector="false" in the
> sm:container element of applicationContext.xml but no dice.
>
> Quoting Manos Batsis <[EMAIL PROTECTED]>:
>
> >
> > Hello tribe,
> >
> > Just dropped the SMS web 3.1 snapshot in a JBoss 4 instance to see
> > what
> > happens, it just bombed on me. Looks like SMS is trying to load
> it's
> > own RMI registry or something and 1099 is already occupied by
> JBoss'
> > RMI.
> >
> > I reached up to jmx.xml and saw it configures the RMI context but
> > cant
> > really figure out how to make the SMX WAR *reuse* the container's
> > (JBoss) RMI tree. Looks like
> >
> >
> > <!-- JMX server -->
> > <sm:jmxServer id="jmxServer"
> locateExistingServerIfPossible="true"
> > />
> >
> > does not think it's possible :-)
> >
> > I pasted the stacktrace below, any pointers welcome.
> >
> > Thanks,
> >
> > Manos
> >
> > 15:14:51,648 INFO [ContextLoader] Root WebApplicationContext:
> > initialization started
> > 15:14:51,648 INFO [1-incubating-SNAPSHOT]] Loading Spring root
> > WebApplicationContext
> > 15:14:51,718 INFO [CollectionFactory] JDK 1.4+ collections
> available
> > 15:14:51,722 INFO [CollectionFactory] Commons Collections 3.x
> > available
> > 15:14:51,772 INFO [XBeanXmlBeanDefinitionReader] Loading XML bean
> > definitions from ServletContext resource [/WEB-INF/jmx.xml]
> > 15:14:52,027 INFO [XBeanXmlBeanDefinitionReader] Loading XML bean
> > definitions from ServletContext resource
> > [/WEB-INF/applicationContext.xml]
> > 15:14:52,458 INFO [XBeanXmlBeanDefinitionReader] Loading XML bean
> > definitions from ServletContext resource [/WEB-INF/activemq.xml]
> > 15:14:52,589 INFO [DefaultListableBeanFactory] Overriding bean
> > definition for bean 'servletContext': replacing [Root bean: class
> >
> [org.springframework.web.context.support.ServletContextFactoryBean];
> > scope=singleton; abstract=false; lazyInit=false;
> > autowireCandidate=true; autowireMode=0; dependencyCheck=0;
> > factoryBeanName=null; factoryMethodName=null; initMethodName=null;
> > destroyMethodName=null; defined in ServletContext resource
> > [/WEB-INF/applicationContext.xml]] with [Root bean: class
> >
> [org.springframework.web.context.support.ServletContextFactoryBean];
> > scope=singleton; abstract=false; lazyInit=false;
> > autowireCandidate=true; autowireMode=0; dependencyCheck=0;
> > factoryBeanName=null; factoryMethodName=null; initMethodName=null;
> > destroyMethodName=null; defined in ServletContext resource
> > [/WEB-INF/activemq.xml]]
> > 15:14:52,590 INFO [XmlWebApplicationContext] Bean factory for
> > application context [Root WebApplicationContext]:
> >
> org.springframework.beans.factory.support.DefaultListableBeanFactory
> > defining beans
> >
>
[rmiRegistry,jmxServer,org.apache.servicemix.jbi.jmx.ConnectorServerFactoryBean,jbi,jencks,transactionManager,jmsFactory,servletContext,rootDir,installDir,deployDir,broker,dataDir];
> > root of BeanFactory hierarchy
> > 15:14:52,597 INFO [XmlWebApplicationContext] 13 beans defined in
> > application context [Root WebApplicationContext]
> > 15:14:52,606 INFO [XmlWebApplicationContext] Unable to locate
> > MessageSource with name 'messageSource': using default
> >
> [EMAIL PROTECTED]
> > 15:14:52,609 INFO [XmlWebApplicationContext] Unable to locate
> > ApplicationEventMulticaster with name
> 'applicationEventMulticaster':
> > using default
> >
>
[EMAIL PROTECTED]
> > 15:14:52,614 INFO [UiApplicationContextUtils] Unable to locate
> > ThemeSource with name 'themeSource': using default
> >
>
[EMAIL PROTECTED]
> > 15:14:52,615 INFO [DefaultListableBeanFactory] Pre-instantiating
> > singletons in factory
> >
> [org.springframework.beans.factory.support.DefaultListableBeanFactory
> > defining beans
> >
>
[rmiRegistry,jmxServer,org.apache.servicemix.jbi.jmx.ConnectorServerFactoryBean,jbi,jencks,transactionManager,jmsFactory,servletContext,rootDir,installDir,deployDir,broker,dataDir];
> > root of BeanFactory hierarchy]
> > 15:14:52,662 INFO [DefaultListableBeanFactory] Destroying
> singletons
> > in
> >
> {org.springframework.beans.factory.support.DefaultListableBeanFactory
> > defining beans
> >
>
[rmiRegistry,jmxServer,org.apache.servicemix.jbi.jmx.ConnectorServerFactoryBean,jbi,jencks,transactionManager,jmsFactory,servletContext,rootDir,installDir,deployDir,broker,dataDir];
> > root of BeanFactory hierarchy}
> > 15:14:52,662 ERROR [ContextLoader] Context initialization failed
> > org.springframework.beans.factory.BeanCreationException: Error
> > creating
> > bean with name 'rmiRegistry' defined in ServletContext resource
> > [/WEB-INF/jmx.xml]: Invocation of init method failed; nested
> > exception
> > is java.rmi.server.ExportException: Port already in use: 1099;
> nested
> > exception is:
> > java.net.BindException: Address already in use
> > Caused by:
> > java.rmi.server.ExportException: Port already in use: 1099; nested
> > exception is:
> > java.net.BindException: Address already in use
> > at
> > sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:243)
> > at
> >
> sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:178)
> > at
> >
> sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:382)
> > at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:116)
> > at
> >
>
sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:180)
> > at
> sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:92)
> > at
> sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:78)
> > at
> >
>
java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:186)
> > at
> >
>
org.apache.servicemix.jbi.jmx.RmiRegistryFactoryBean.afterPropertiesSet(RmiRegistryFactoryBean.java:106)
> > at
> >
>
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1057)
> > at
> >
>
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1024)
> > at
> >
>
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:421)
> > at
> >
>
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
> > at
> >
>
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:140)
> > at
> >
>
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
> > at
> >
>
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
> > at
> >
>
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:270)
> > at
> >
>
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:346)
> > at
> >
>
org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
> > at
> >
>
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
> > at
> >
>
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
> > 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.addChildInternal(ContainerBase.java:759)
> > at
> >
>
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
> > at
> >
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
> > 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.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
> > at
> >
>
org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:150)
> > at
> >
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> > at
> >
>
org.apache.catalina.core.StandardContext.init(StandardContext.java:5005)
> > 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.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
> > at
> >
>
org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:150)
> > at
> >
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> > at
> >
>
org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployInternal(TomcatDeployer.java:280)
> > at
> >
>
org.jboss.web.tomcat.tc5.TomcatDeployer.performDeploy(TomcatDeployer.java:88)
> > at
> >
> org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:357)
> > at org.jboss.web.WebModule.startModule(WebModule.java:68)
> > at org.jboss.web.WebModule.startService(WebModule.java:46)
> > at
> >
>
org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:274)
> > at
> >
>
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:230)
> > at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown
> > Source)
> > 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:141)
> > at
> > org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> > at
> org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
> > at
> >
>
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> > at
> >
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> > at
> >
>
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:943)
> > at $Proxy0.start(Unknown Source)
> > at
> >
> org.jboss.system.ServiceController.start(ServiceController.java:428)
> > at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown
> > Source)
> > 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:141)
> > at
> > org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> > at
> org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
> > at
> >
>
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> > at
> >
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> > at
> > org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> > at $Proxy30.start(Unknown Source)
> > at
> >
>
org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:400)
> > 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:141)
> > at
> > org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> > at
> >
>
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
> > at
> org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
> > at
> >
>
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
> > at
> >
>
org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:80)
> > at
> org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
> > at
> >
>
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> > at
> >
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> > at
> > org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> > at $Proxy31.start(Unknown Source)
> > at
> > org.jboss.deployment.MainDeployer.start(MainDeployer.java:989)
> > at
> > org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:790)
> > at
> > org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:753)
> > at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown
> > Source)
> > 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:141)
> > at
> > org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> > at
> >
>
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
> > at
> org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
> > at
> >
>
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
> > at
> org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
> > at
> >
>
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> > at
> >
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> > at
> > org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> > at $Proxy9.deploy(Unknown Source)
> > at
> >
>
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:319)
> > at
> >
>
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:507)
> > at
> >
>
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:192)
> > at
> >
>
org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:265)
> > at
> >
>
org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:274)
> > at
> >
>
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:230)
> > at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown
> > Source)
> > 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:141)
> > at
> > org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> > at
> org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
> > at
> >
>
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> > at
> >
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> > at
> >
>
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:943)
> > at $Proxy0.start(Unknown Source)
> > at
> >
> org.jboss.system.ServiceController.start(ServiceController.java:428)
> > at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown
> > Source)
> > 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:141)
> > at
> > org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> > at
> org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
> > at
> >
>
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> > at
> >
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> > at
> > org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> > at $Proxy4.start(Unknown Source)
> > at
> > org.jboss.deployment.SARDeployer.start(SARDeployer.java:285)
> > at
> > org.jboss.deployment.MainDeployer.start(MainDeployer.java:989)
> > at
> > org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:790)
> > at
> > org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:753)
> > at
> > org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:737)
> > 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:141)
> > at
> > org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> > at
> >
>
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
> > at
> org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
> > at
> >
>
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
> > at
> org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
> > at
> >
>
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> > at
> >
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> > at
> > org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> > at $Proxy5.deploy(Unknown Source)
> > at
> > org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:453)
> > at
> > org.jboss.system.server.ServerImpl.start(ServerImpl.java:330)
> > at org.jboss.Main.boot(Main.java:187)
> > at org.jboss.Main$1.run(Main.java:438)
> > at java.lang.Thread.run(Thread.java:613)
> > Caused by: java.net.BindException: Address already in use
> > at java.net.PlainSocketImpl.socketBind(Native Method)
> > at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
> > at java.net.ServerSocket.bind(ServerSocket.java:319)
> > at java.net.ServerSocket.<init>(ServerSocket.java:185)
> > at java.net.ServerSocket.<init>(ServerSocket.java:97)
> > at
> >
>
sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMIDirectSocketFactory.java:27)
> > at
> >
>
sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMIMasterSocketFactory.java:333)
> > at
> >
>
sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:622)
> > at
> > sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:231)
> > ... 152 more
> > 15:14:52,669 ERROR [1-incubating-SNAPSHOT]] Exception sending
> context
> > initialized event to listener instance of class
> > org.springframework.web.context.ContextLoaderListener
> >
>
>
>