1 Reply Latest reply on Sep 15, 2004 8:00 AM by annegret

    jboss shutdown NameNotFoundException: jrmp not bound

    annegret

      Hello,

      is it possible to configure jboss to support access to beans with and without SSL in the same server ?
      One Client may access the beans using SSL an other client may access without SSL.

      I deploy the beans for the Client in 2 jar-files, one with JNDINames , the other configured for SSL and with JNDINames ssl/.

      My jboss-service.xml configuration is:



      <!-- JAAS security manager and realm mapping -->


      org.jboss.security.plugins.JaasSecurityManager



      <!-- The SSL domain setup -->




      test.keystore
      passw




      <!-- RMI/JRMP invoker -->

      4444
      ${jboss.bind.address}
      <!--
      custom
      custom
      ssl-domain-name
      -->

      jboss:service=TransactionManager



      8443

      org.jboss.security.ssl.RMISSLClientSocketFactory


      org.jboss.security.ssl.RMISSLServerSocketFactory

      java:/jaas/RMI+SSL
      jboss.security:service=JaasSecurityDomain,domain=RMI+SSL
      jboss:service=TransactionManager




      It seems to work.
      How can I verify that SSL is really used ?

      But during jboss shutdown the follwing exception occurs:

      2004-09-15 13:25:06,203 INFO [org.jboss.invocation.jrmp.server.JRMPInvoker] Stopping jboss:service=invoker,type=jrmp
      2004-09-15 13:25:06,218 ERROR [org.jboss.invocation.jrmp.server.JRMPInvoker] Stopping failed
      javax.naming.NameNotFoundException: jrmp not bound
      at org.jnp.server.NamingServer.getBinding(NamingServer.java:495)
      at org.jnp.server.NamingServer.getBinding(NamingServer.java:503)
      at org.jnp.server.NamingServer.unbind(NamingServer.java:228)
      at org.jnp.server.NamingServer.unbind(NamingServer.java:201)
      at org.jnp.server.NamingServer.unbind(NamingServer.java:201)
      at org.jnp.interfaces.NamingContext.unbind(NamingContext.java:673)
      at org.jnp.interfaces.NamingContext.unbind(NamingContext.java:661)
      at javax.naming.InitialContext.unbind(InitialContext.java:371)
      at org.jboss.invocation.jrmp.server.JRMPInvoker.stopService(JRMPInvoker.java:328)
      at org.jboss.invocation.jrmp.server.JRMPInvoker$1.stopService(JRMPInvoker.java:112)
      at org.jboss.system.ServiceMBeanSupport.stop(ServiceMBeanSupport.java:240)
      at org.jboss.invocation.jrmp.server.JRMPInvoker.stop(JRMPInvoker.java:571)
      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:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
      at $Proxy0.stop(Unknown Source)
      at org.jboss.system.ServiceController.stop(ServiceController.java:471)
      at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy4.stop(Unknown Source)
      at org.jboss.deployment.SARDeployer.stop(SARDeployer.java:373)
      at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:489)
      at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:472)
      at org.jboss.deployment.MainDeployer.shutdown(MainDeployer.java:359)
      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:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
      at org.jboss.system.server.ServerImpl$ShutdownHook.shutdownDeployments(ServerImpl.java:849)
      at org.jboss.system.server.ServerImpl$ShutdownHook.shutdown(ServerImpl.java:824)
      at org.jboss.system.server.ServerImpl$ShutdownHook.run(ServerImpl.java:812)

      What does this mean ?
      I looked in the jboss sourcecode and found out that each JRMPInvoker binds "invokers/" + InetAddress.getLocalHost().getHostName() + "/jrmp".
      Is it not possible to configure more than one JRMPInvoker ?
      When I look in the jmx-console I can see both JRMPInvoker configurations.

      Any idea ?

      Annegret

        • 1. Re: jboss shutdown NameNotFoundException: jrmp not bound
          annegret

          Sorry, may jboss-service configuration has been disturbed, here a second try:

          <snip>
          
           <!-- JAAS security manager and realm mapping -->
           <mbean code="org.jboss.security.plugins.JaasSecurityManagerService"
           name="jboss.security:service=JaasSecurityManager">
           <attribute name="SecurityManagerClassName">
           org.jboss.security.plugins.JaasSecurityManager
           </attribute>
           </mbean>
          
           <!-- The SSL domain setup -->
           <mbean code="org.jboss.security.plugins.JaasSecurityDomain"
           name="jboss.security:service=JaasSecurityDomain,domain=RMI+SSL">
           <constructor>
           <arg type="java.lang.String" value="RMI+SSL"/>
           </constructor>
           <attribute name="KeyStoreURL">test.keystore</attribute>
           <attribute name="KeyStorePass">passw</attribute>
           </mbean>
          
          <snip>
          
           <!-- RMI/JRMP invoker -->
           <mbean code="org.jboss.invocation.jrmp.server.JRMPInvoker"
           name="jboss:service=invoker,type=jrmp">
           <attribute name="RMIObjectPort">4444</attribute>
           <attribute name="ServerAddress">${jboss.bind.address}</attribute>
           <!--
           <attribute name="RMIClientSocketFactory">custom</attribute>
           <attribute name="RMIServerSocketFactory">custom</attribute>
           <attribute name="SecurityDomain">ssl-domain-name</attribute>
           -->
          
           <depends>jboss:service=TransactionManager</depends>
           </mbean>
          
           <mbean code="org.jboss.invocation.jrmp.server.JRMPInvoker"
           name="jboss:service=invoker,type=jrmp,socketType=SSL">
           <attribute name="RMIObjectPort">8443</attribute>
           <attribute name="RMIClientSocketFactory">
           org.jboss.security.ssl.RMISSLClientSocketFactory
           </attribute>
           <attribute name="RMIServerSocketFactory">
           org.jboss.security.ssl.RMISSLServerSocketFactory
           </attribute>
           <attribute name="SecurityDomain">java:/jaas/RMI+SSL</attribute>
           <depends>jboss.security:service=JaasSecurityDomain,domain=RMI+SSL</depends>
           <depends>jboss:service=TransactionManager</depends>
           </mbean>
          
          <snip>


          Annegret