0 Replies Latest reply on Jun 29, 2011 4:54 PM by milspec

    Problem Stopping Windows service on stripped-down jboss AS instance

    milspec

      Hi all,

       

      I'm running two instances of Jboss Application Server (AS).

       

       

      One resembles the "default" (shipped) profile, the other the "minimalistic". For the latter, we're running apache solr as a web application and need the bare minimum of services (e..g no ejb deployer)

       

      Here's the problem:

      The default instance starts and stops great. The "minimalistic/solr" instance, however, I cannot stop the solr instance via the shutdown script, i.e.:

          ./shutdown.bat -s jnp://localhost:21099/

       

      Version information:

      JbossAS: 4.2.2.GA

      JbossNative (windows service wrapper): 2.0.8

       

      Data

       

      I've posted below the shutdown.bat stack trace  and the jboss-service.xml for the solr instance

       

      What's different?

      One works. The other fails. What's different? I could try the brute-force, but I wanted to understand what's needed and why.

       

      I can barely spell jrmp and don't know much about windows service.

       

      Context

      We're switching a legacy app from  java service wrapper to jboss native to handle windows services.

       

      thanks

       

      will

       

      Shutdown Stack Trace

      Exception in thread "main" javax.naming.NamingException: Could not dereference object [Root exception is javax.naming.NameNotFoundException: invoker not bound]

          at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1215)

          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:758)

          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)

          at javax.naming.InitialContext.lookup(InitialContext.java:392)

          at org.jboss.Shutdown.main(Shutdown.java:214)

      Caused by: javax.naming.NameNotFoundException: invoker not bound

          at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)

          at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)

          at org.jnp.server.NamingServer.getObject(NamingServer.java:543)

          at org.jnp.server.NamingServer.lookup(NamingServer.java:267)

          at org.jnp.server.NamingServer.lookup(NamingServer.java:270)

          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:597)

          at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)

          at sun.rmi.transport.Transport$1.run(Transport.java:159)

          at java.security.AccessController.doPrivileged(Native Method)

          at sun.rmi.transport.Transport.serviceCall(Transport.java:155)

          at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)

          at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)

          at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)

          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

          at java.lang.Thread.run(Thread.java:619)

          at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)

          at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)

          at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)

          at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)

          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667)

          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)

          at javax.naming.InitialContext.lookup(InitialContext.java:392)

          at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1209)

          ... 4 more

       

       

      Jboss-service.xml

      I've removed the comments for compactness

       

      <server>

         <classpath codebase="${jboss.server.lib.url:lib}" archives="*"/>

       

         <!-- ==================================================================== -->

         <!-- Log4j Initialization                                                 -->

         <!-- ==================================================================== -->

         <mbean code="org.jboss.logging.Log4jService"

            name="jboss.system:type=Log4jService,service=Logging">

            <attribute name="ConfigurationURL">resource:jboss-log4j.xml</attribute>

         </mbean>

       

         <!-- ==================================================================== -->

         <!-- Thread Pool                                                          -->

         <!-- ==================================================================== -->

        

         <!-- A Thread pool service -->

         <mbean code="org.jboss.util.threadpool.BasicThreadPool"

            name="jboss.system:service=ThreadPool">

            <attribute name="Name">JBoss System Threads</attribute>

            <attribute name="ThreadGroupName">System Threads</attribute>

       

            <attribute name="KeepAliveTime">60000</attribute>

       

            <attribute name="MaximumPoolSize">10</attribute>

       

            <attribute name="MaximumQueueSize">1000</attribute>

            <attribute name="BlockingMode">run</attribute>

         </mbean>

       

         <!-- ==================================================================== -->

         <!-- JNDI                                                                 -->

         <!-- ==================================================================== -->

        

         <mbean code="org.jnp.server.NamingBeanImpl"

            name="jboss:service=NamingBeanImpl"

            xmbean-dd="resource:xmdesc/NamingBean-xmbean.xml">

         </mbean>

        

         <mbean code="org.jboss.naming.NamingService"

            name="jboss:service=Naming"

            xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">

            <attribute name="CallByValue">false</attribute>

            <attribute name="Port">21099</attribute>

            <attribute name="BindAddress">${jboss.bind.address}</attribute>

            <attribute name="RmiPort">21098</attribute>

            <attribute name="RmiBindAddress">${jboss.bind.address}</attribute>

            <depends optional-attribute-name="LookupPool"

               proxy-type="attribute">jboss.system:service=ThreadPool</depends>

            <depends optional-attribute-name="Naming"

               proxy-type="attribute">jboss:service=NamingBeanImpl</depends>

         </mbean>

       

         <!-- ==================================================================== -->

         <!-- Deployment Scanning                                                  -->

         <!-- ==================================================================== -->

       

         <mbean code="org.jboss.deployment.scanner.URLDeploymentScanner"

            name="jboss.deployment:type=DeploymentScanner,flavor=URL">

       

            <depends optional-attribute-name="Deployer">jboss.system:service=MainDeployer</depends>

       

            <attribute name="URLComparator">org.jboss.deployment.DeploymentSorter</attribute>

            <attribute name="Filter">org.jboss.deployment.scanner.DeploymentFilter</attribute>

       

            <attribute name="ScanPeriod">5000</attribute>

            <attribute name="URLs">

             deploy/

            </attribute>     

         </mbean>

       

         <!-- JBoss Transactions JTA -->

         <mbean code="com.arjuna.ats.jbossatx.jta.TransactionManagerService"

            name="jboss:service=TransactionManager">

            <attribute name="TransactionTimeout">360000</attribute>

            <attribute name="ObjectStoreDir">${jboss.server.data.dir}/tx-object-store</attribute>

         </mbean>

       

        

         <!-- RMI/JRMP invoker -->

       

         <mbean code="org.jboss.invocation.jrmp.server.JRMPInvoker"

            name="jboss:service=invoker,type=jrmp">

            <attribute name="RMIObjectPort">24445</attribute>

            <attribute name="ServerAddress">${jboss.bind.address}</attribute>

            <depends>jboss:service=TransactionManager</depends>

         </mbean>

       

      </server>